我有一个全局定义为App.configObj
的对象,其中包含属性data
。在视图模板中,我可以使用{{App.configObj.data}}
来显示值,它可以正常工作。
在同一模板中,我使用{{render "viewC" model config=App.configObj}
}呈现类似的视图,但该视图上的config
属性在didInsertElement
上保持为空。设置为原始值的其他参数在此时正确设置。
由于App.configObj在该上下文中绝对可用,我是否应该将其传递到该视图中?
以下是说明情况的jsbin:http://emberjs.jsbin.com/misiyaki/12/edit
如果您注释掉ViewC
的渲染通话,则可以看到{{App.configObj.data}}
在模板中渲染得很好。
我的目标是使用封装多个属性的对象来配置视图,因此我需要能够传递该对象。我花了很多时间在线搜索类似的内容,但没有找到任何人尝试此
我缺少什么?
谢谢!
答案 0 :(得分:1)
我理解你在这里的努力是无法在你的渲染代码中传递一个属性......但在这种情况下,这似乎并不是真的有必要。
如果我能够正确地理解你的意图,那么这里有一些改变以向你展示另一种方式。 http://emberjs.jsbin.com/misiyaki/15/edit
您视图的新代码:
App.ViewCView = Em.View.extend({
name: 'testName',
config: function () {
return App.configObj;
}.property(),
data: function () {
return this.get('config.data')
}.property('config'),
templateName: 'view-c'
});
希望这有帮助!