我有一条有时会显示对话框的路线。我的想法是创建一个这样的组件:
{{modal-dialog visible=dialogVisible contents=dialogContents}}
根据需要,路径将设置dialogVisible和dialogContents属性,模板会相应地将这些属性传递给modal-dialog
组件,因此对话框将出现并显示正确的内容。
但这并不奏效。模板观察路线'模型,而不是它们的属性。如何在模板中访问路径属性?
答案 0 :(得分:1)
不确定你的问题是什么。你做这件事的方式似乎是正确的。
控制器/ index.js
actions: {
createModal: function(someSpecialContent) {
this.set('dialogVisible', true);
this.set('dialogContents', someSpecialContent);
$('#modalId').modal('show');
}
}
模板/ index.hbs
{{modal-dialog visible=dialogVisible contents=dialogContents}}
templates / components / modal-dialog.hbs
{{#if visible}}
your modal html here
...
<div class="modal-body">
{{#each contents as |content|}}
{{content.stuff}}
{{/each}}
</div>
...
{{/if}}
答案 1 :(得分:0)
您是否只是尝试了.observes('model.PROPERTY_NAME')
?
为什么你要从路线上观察这个属性?我之前做过类似的事情,似乎更有意义的是在控制器上设置dialogVisible属性,而不是路径。