我有一个简单的博客,我在其中学习 Ember。
现在我有了一个 Controller
App.IndexController = Ember.ArrayController.extend({
sortProperties: ['originalId:desc']
sortedPosts: Ember.computed.sort('model', 'sortProperties'),
})
所以在模板中我显示了所有帖子。为此,我想在我的所有帖子附近显示编辑链接。
所以问题是如何在 Handlebars 中做到这一点。
我想做这样的事情:
{{#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但我希望有更好的解决方案。
PS:还有一个关于使用 SortableMixin 排序的问题。当 sortProperties
更改时,它不会重新加载模板。所以我必须再创建一个属性 sortedPosts
。也许有人知道为什么它不起作用?
最佳答案
您需要在 Controller 中创建一个计算属性,然后在 View 中使用它。如果您有 2 个计算属性并希望将它们合并为第三个 - 您可以使用 compulated.and
(请参阅 here )
关于javascript - View 中的 Ember 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28006500/