Ember вычисляемое свойство для "не равно текущему маршруту" - PullRequest
0 голосов
/ 11 марта 2019

Любопытно, что делать как эквивалент следующего вычисляемого свойства. На самом деле, нет метода notEqual, встроенного в Ember, вычисляемый .

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

Ответы [ 2 ]

2 голосов
/ 12 марта 2019

Есть несколько способов:

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 не помню, поддерживается ли это изначально.

Если вы оказались на угасающей канарейке (используя нативные классы и декораторы), вы можете сделать:

@not
@equal('controllers.application.currentRouteName', 'pizza')
isNotPizza;
0 голосов
/ 11 марта 2019

Использовать пользовательское вычисляемое свойство:

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