Ember。在您自己的视图中使用内置视图

Ember. Using built-in views inside your own view

我有一个模型,其中包含有关选择、输入等的信息。我找到了将它连接到我的视图的方法。

export default Em.View.extend({
  didInsertElement: function(){
    var content = this.get('content'),
    self = this;
    content.content[0].default.forEach(function(item,i){
      if (item.tag == 'select') {
        self.$().append('<select></select>');
        item.content.forEach(function(item){
          self.$('select:last-child').append('<option>'+item.option+'</option>');
        });
      }
      else if (item.tag == 'input') {
        self.$().append('<input type='+item.type+'>');
      }
    });
  }
});

有没有办法不用:

self.$('select:last-child').append('<option>'+item.option+'</option>');

还有一些

Ember.compile('{{Ember.select content=options valueBinding=example}}');

谢谢!

P.S。抱歉,如果您发现我的方法很愚蠢,我才刚刚开始学习 Ember,可能我仍然以 jquery 的方式思考。对不起我的英语!

我的解决方案是:

{{#each item in defaultArray}}
    {{#if item.isSelect}}
    {{view "select" content=item.content optionLabelPath="content.option" prompt=""}}
    {{/if}}
    {{#if item.isRadio}}
    {{item.label}}
    {{#each item in item.content}}
     <input type="checkbox" class="radio" {{bind-attr name="item.name" id="item.id" value="item.option"}}>
     <label {{bind-attr for="item.id"}}>{{item.option}}</label>
    {{/each}}
    {{/if}}
{{/each}}