javascript - View 中的 Ember 条件

标签 javascript ember.js handlebars.js

我有一个简单的博客,我在其中学习 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/

相关文章:

javascript - Safari 扩展 - 更改预定义的 Javascript 变量值

javascript - 在 emberjs 中加载对象的正确方法是什么?

javascript - 在 Meteor 中如何在服务器端渲染模板?

ember.js - ember-cli 卡在 ember 服务器命令上

ember.js - Ember transitionTo 查询参数不更新 URL

javascript - 在 handlebars 模板中显示 hasMany ember 关系中的第一项

javascript - express.js 如何在不使用 Handlebars 刷新所有页面的情况下更新 UI

javascript - console.log(array) 显示与迭代数组和显示单个元素不同的数组内容

javascript - 如何在 R 中抓取 javascript 表?

javascript - JQM : $. mobile.changepage 未加载外部 .JS 文件