ember.js 如何在使用toggleProperty时获取对象的id

brccelvz  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(155)

我想在下面的模板中获取story对象的id,这样我就可以添加注解,但是我不确定该如何操作。我认为该操作引用了它所调用的对象。
我有:

{{#each}}
    <div>{{date}}</div>
    {{#each stories}}
      <div {{action 'toggleProperty' 'areCommentsDisplayed'}}>{{headline}}  {{url}} {{id}}</div>

    {{/each}}
 {{/each}}
at end
<br /><br />
{{#if areCommentsDisplayed}}
   comments are displayed with {{id}}
{{else}}
   comments are NOT displayed {{id}}
{{/if}}

点击操作并不会导致id被写入底部的areCommentsDisplayed块。我如何获得一个引用来写入id呢?

9gm1akwq

9gm1akwq1#

这是因为id不再位于each块之外的作用域中。您需要将ID分配给一个变量,然后显示它。例如,我将把您的操作更改为:

{{action 'toggleComments' id}}

然后像这样执行操作:

toggleComments: function(id) {
    this.set('selectedId', id);
    this.toggleProperty('areCommentsDisplayed');
}

现在,您可以在if块中使用selectedId,该块将在作用域中,并包含您最近单击的故事的ID。

相关问题