我有一个场景,我有项目列表,每个项目都有一个创建按钮.当我点击创建时,我希望将一个组件附加到列表项.该组件使用模型数据作为参数,并从内部访问存储.要访问组件中的商店,我使用的是targetObject.store
如果我手动将其添加到模板,该组件效果很好:
{{#each}}
<div> blah blah {{my-component data=this.something action="doSomething"}} <button {{action 'add' this}}>Add</button></div>
{{/each}}
Run Code Online (Sandbox Code Playgroud)
我可以使用标志显示/隐藏组件,并在单击"添加"按钮时切换它,但我宁愿在可能的情况下动态执行.
我确实试过这个但是对我不起作用,因为我无法访问商店:
actions: {
add: function(obj){
var view = Ember.View.create({
template: Ember.Handlebars.compile('{{my-component action="addQuestion"}}')
});
view.set('data', obj.get('something'));
Ember.run(function() {
//prolly can get parent view rather than document.body
view.appendTo(document.body);
});
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
ember.js ×1