如何观察Ember路径模板中的属性?

时间:2015-10-09 05:01:27

标签: ember.js properties routes

我有一条有时会显示对话框的路线。我的想法是创建一个这样的组件:

{{modal-dialog visible=dialogVisible contents=dialogContents}}

根据需要,路径将设置dialogVisible和dialogContents属性,模板会相应地将这些属性传递给modal-dialog组件,因此对话框将出现并显示正确的内容。

但这并不奏效。模板观察路线'模型,而不是它们的属性。如何在模板中访问路径属性?

2 个答案:

答案 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属性,而不是路径。