我想使用render()渲染模板,并希望传递一些数据(模型)
如果我将参数作为模型传递,我会在模板中获取数据 model:this.controllerFor(this.routeName).someModel
this.render('my-template', {
into: 'application',
outlet: 'myOutlet',
model: this.controllerFor(this.routeName).someModel
});
但下面不起作用。对传递的模型的命名有一些限制吗?
this.render('my-template', {
into: 'application',
outlet: 'flyout',
myModel: this.controllerFor(this.routeName).someModel
});
答案 0 :(得分:1)
您传递的属性不是model
的名称,而是model
。
无论您传递什么,因为model
属性将被设置为相应控制器上的model
属性。
ember执行under the hood of render()的相关检查如下:
if (options && options.model) {
controller.set('model', options.model);
}
其中options是作为render()
的第二个参数传递的内容。
值得注意的是,这只是将controller.model
设置为controller.someModel
,这是多余的,因为您已经可以访问此数据。
答案 1 :(得分:0)