注意:在某些情况下,我被迫使用Ember 2.18,但如果2.x不能使用^ 3.4,我会很感兴趣。
我正在基于其他两个布尔值计算布尔值。在班级内部是这样:
userEmail: '',
feedbackText: '',
emailIsValid: match('useEmail', /^.+@.+\..+$/),
feedbackTextIsValid: gte('feedbackText.length', 5),
disableSubmit: computed('emailIsValid', 'feedbackTextIsValid', function() {
return (!this.get('emailIsValid') || !this.get('feedbackTextIsValid'));
}),
换句话说,如果disableSubmit
不是有效的电子邮件,或者userEmail
少于5个字符,则属性feedbackText
应该为true。它可以正确执行此操作。
我想知道的是,是否可以使用类似于not
或match
的东西来返回true
,如果另外两个值都不是true
。
答案 0 :(得分:3)
选项1
由于Ember中立即可用的宏数量有限,因此您可以考虑使用ember-awesome-macros之类的东西(这是一个非常受欢迎的库,仅供参考)。
Error: Path /poc-deployment-automation conflicts with existing deployment path for revision 1 of the APIProxy poc-deploy-automation in organization nonprod, environment dev
选项2
您可以尝试同时使用'or'和disableSubmit: nand('emailIsValid', 'feedbackTextIsValid'), // nand is the equivalent of an 'or' with inverted inputs
的混合物。
not