余烬计算了"not equal to current route"属性



好奇地等同于以下计算属性。实际上,Ember的计算中没有任何不平等方法。

isNotPizza: computed.notEqual('controllers.application.currentRouteName', 'pizza'),

有几种方法:

import { not, equal } from '@ember/object/computed';
// ...
isPizza: equal('controllers.application.currentRouteName', 'pizza'),
isNotPizza: not('isPizza'),

,或者,您可以通过这样做不相等:

import { not, equal } from '@ember/object/computed';
isNotPizza: not(equal('controllers.application.currentRouteName', 'pizza')),

可能需要使用此信息:https://github.com/kellyselden/ember-macro-helpers不记得这是否是本地支持的。

如果您碰巧使用Ember-Canary(使用本地类和装饰者),则可以这样做:

@not
@equal('controllers.application.currentRouteName', 'pizza')
isNotPizza;

使用自定义计算属性:

isNotPizza: computed('controllers.application.currentRouteName', function () {
  return 'pizza' !== this.get('controllers.application.currentRouteName');
}),

最新更新