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

时间:2015-06-12 11:53:58

标签: javascript ember.js 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的方式思考。抱歉我的英语!

1 个答案:

答案 0 :(得分:0)

我的解决方案是:

{{#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}}