プロパティの現在のブール値を無効にする計算された文字列プロパティがあるかどうかは疑問です。たとえば、以下の計算されたプロパティ 'isDisabledSubmit'では、isValidEmailおよびisValidMessageの前に感嘆符を追加して、プロパティ値を無効にしようとしました。これはうまくいきませんが、私が達成しようとしていることをおそらく仮定することができます。私はそれが2つの追加のプロパティisInvalidEmailとisInvalidMessageを追加することによって動作するようになることができますが、これは大きなアプリでは少し過剰です... ?EmberにNot/Not Andを使用するCLI
export default Ember.Controller.extend({
contactForm: false,
contactEmail: '',
contactMessage: '',
isValidEmail: Ember.computed.match('contactEmail', /^[email protected]+\..+$/),
isValidMessage: Ember.computed.gte('contactMessage.length', 10),
isDisabledSubmit: Ember.computed.or('!isValidEmail', '!isValidMessage')
});
なし短いで可能、しかし退屈なソリューション
export default Ember.Controller.extend({
contactForm: false,
contactEmail: '',
contactMessage: '',
isValidEmail: Ember.computed.match('contactEmail', /^[email protected]+\..+$/),
isValidMessage: Ember.computed.gte('contactMessage.length', 10),
//Add negated version of previous properties...tedious approach...
isInvalidEmail: Ember.computed.not('isValidEmail'),
isInvalidMessage: Ember.computed.not('isValidMessage'),
//
isDisabledSubmit: Ember.computed.or('isInvalidEmail', 'isInvalidMessage')
});