我正在召集这样的活动:
{{#each}}
<div class='row'>{{name}} <a {{action showModal this}} href="#">Open modal</a>
{{/each}}
并且有这条路线,但需要为模态视图设置模型,但似乎没有任何效果。关于如何使其发挥作用的任何想法?
App.ApplicationRoute = Ember.Route.extend({
events: {
showModal: function(obj) {
var v = this.container.lookup('view:modal');
// this.get('controller').set('model',obj); nope
v.appendTo(Emberjs1.rootElement);
}
}
});
事先提前
答案 0 :(得分:2)
您可以直接在视图上设置属性,并使用view.property
var v = this.container.lookup('view:foo');
v.set('bar', 'hello');
v.appendTo(App.rootElement);
然后在模板中它
{{view.bar}}
http://emberjs.jsbin.com/qofoxazu/1/edit
如果你真的想要创建一个控制器/模型,你可以得到一个控制器,在控制器上设置模型,然后在你的视图上设置该模型。
var v = this.container.lookup('view:foo'),
controller = this.container.lookup('controller:foo');
controller.set('model', 'hello');
v.set('controller', controller);
v.appendTo(App.rootElement);
然后您的控制器将在范围内,您不必使用view
来访问属性。