我的Ember.js控制器中有一些直接的代码,它会抛出一个JavaScript错误。这是:
App.OptimalController = Ember.Controller.extend({
site: 'Cats',
isCats: Ember.computed.eq('site', 'Cats'),
isDogs: Ember.computer.eq('site', 'Dogs'),
actions: {
chooseSite: function(type){
this.set('site', type);
}
},
siteObserver: function(){
//todo make request
}.observes('site').on('init')
});
在我的模板中,我有以下代码段:
<ul class="nav nav-justified">
<li {{bind-attr class="controller.isCats:active"}}>
<a href="#" {{action 'chooseSite' 'Cats'}}>Cats</a>
</li>
<li {{bind-attr class="controller.isDogs:active"}}>
<a href="#" {{action 'chooseSite' 'Dogs'}}>Dogs</a>
</li>
</ul>
一旦我加载页面,我的控制台就会发出错误:
Uncaught TypeError: undefined is not a function
我只是尝试点击<li>
,让它更改site
属性,然后将active
类添加到元素中。
这里有什么明显的错误吗?
答案 0 :(得分:1)
Ember.computed.eq
不存在,您可能打算使用Ember.computed.equal