Ember.js:未捕获TypeError:undefined不是函数

时间:2014-06-11 20:29:57

标签: javascript ember.js

我的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类添加到元素中。

这里有什么明显的错误吗?

1 个答案:

答案 0 :(得分:1)

Ember.computed.eq不存在,您可能打算使用Ember.computed.equal

http://emberjs.com/api/#sts=computed.alias