视图中的灰烬条件

时间:2015-01-18 02:14:56

标签: javascript ember.js handlebars.js

我有一个简单的博客,其中我学习了Ember 现在我有一个控制器

App.IndexController = Ember.ArrayController.extend({
  sortProperties: ['originalId:desc']
  sortedPosts: Ember.computed.sort('model', 'sortProperties'),
})

所以在模板中我会显示所有帖子。为此,我想在我的所有帖子附近显示编辑链接 所以问题是如何在把手中做到这一点。

我想做这样的事情:

{{#each post in sortedPosts}}
  <h1>{{link-to post.title 'post' post }}</h1>

  {{#if session.isAuthenticated and post.ownedBy(session.user)}} <!--This place doesn't work-->
    {{link-to 'Edit' 'post.edit' post }}
  {{/if}}

  {{{post.text}}}
  <hr/>
{{/each}}

我发现了这个问题Logical operator in a handlebars.js {{#if}} conditional,但我希望有更好的解决方案。

P.S。:还有一个关于使用SortableMixin进行排序的问题。更改sortProperties时,它不会重新加载模板。所以我必须再创建一个属性sortedPosts。也许有人知道它为什么不起作用?

1 个答案:

答案 0 :(得分:1)

您需要在控制器中创建一个计算属性,然后在视图中使用它。如果您有2个计算属性并希望将它们组合成第3个 - 您可以使用computed.and(请参阅here