ember.js - 在 Ember 模板中使用函数绑定(bind)元素类名?

标签 ember.js

当我有一个类似这样的模板时:

{{#view App,NavItemView}}
<li {{bindAttr class="isActive:active"}}>Item 1</li>
{{/view}}

还有一个 View

App.NavItemView = Ember.View.extend({
  tagName: 'ul',
  isActive: function() {
    return false;
  }
});

呈现的模板将始终在 li 元素上呈现“active”类。因此,基于此似乎不可能设置条件类?

理想情况下,我希望根据函数的结果打开和关闭 li 元素的类。我错过了什么吗?

最佳答案

对于这类事情,您需要使用计算属性。

App.NavItemView = Ember.View.extend({
  tagName: 'ul',
  isActive: function() {
    return false;
  }.property()
});

查看 computed properties guide了解更多详情。

关于ember.js - 在 Ember 模板中使用函数绑定(bind)元素类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14170147/

相关文章:

javascript - Ember-bootstrap 从 javascript 触发模式

javascript - 使用 ember 3.6 发出带有从子到父参数的事件

ember.js - MODEL_FACTORY_INJECTIONS 和夹具

performance - Ember.JS:观察@each,但只是迭代新的/更改的项目

javascript - 在标志条件语句中调用函数

javascript - 获取对象 #<Object> 在 Ember 中没有方法 'map'

ember.js - 第三方 JS 库去哪儿了?

javascript - 模板中的 Ember.js 属性和 ArrayController

ember.js - 如何在 Ember.js 中将内容与 JSON 绑定(bind)

javascript - 使用 ember.js 2.0 的 ember cli 应用程序基础