我有一个包含多个属性的视图,包括一个我想要包含一个对象的属性。视图如下所示:
Whistlr.LightboxView = Em.View.extend
templateName: 'lightbox'
classNames: ['ember-lightbox']
content: ""
content
是我想要包含对象的属性。我像这样设置对象:
lightbox = Ember.View.views[$(".ember-lightbox").attr('id')]
lightbox.set 'content', Whistlr.AuthRegisterView.create()
据我所知,对象设置正确。但是,当我尝试像这样显示它时:
#lightbox
view.content
浏览器会显示此信息:
<Whistlr.AuthRegisterView:ember364>
如何让它实际呈现对象,而不是表示对象的字符串?
答案 0 :(得分:1)
这是预期的行为,因为这是toString
所有ember类的基类提供的默认Ember.Object
。
我建议您展示您想要显示的每个属性:
#lightbox
view.content.login
view.content.password
因此,当其中一个属性发生变化时,显示视图将会更新。
答案 1 :(得分:1)
您还可以在此对象中定义自己的toString方法
答案 2 :(得分:0)
看起来这是我使用Emblem.js的方式的怪癖。通常,我可以用简单的方式呈现视图:
Whistlr.AuthRegisterView
但是,在这种情况下,我必须明确声明我正在渲染视图,可能是因为视图已经转换为字符串。我现在可以使用它了:
view Whistlr.AuthRegisterView
或
view view.content