Ember.js 其中定义了该值-“;(动作(mut foo)true)“;?
表面上这是一个关于ember cp验证的问题,但实际上是关于Ember.js 其中定义了该值-“;(动作(mut foo)true)“;?,ember.js,ember-cp-validations,Ember.js,Ember Cp Validations,表面上这是一个关于ember cp验证的问题,但实际上是关于操作(mut foo)构造的问题。我已经读过了,但它没有解决我在这里提出的问题 在Ember.js模板中,使用时,可以执行验证并控制相关错误消息的显示,如下所示 当focus out触发属性时,更新showFirstNameError。该属性随后用于控制错误消息的显示或其他方式 这工作得非常好,并且符合标准 但是属性showFirstNameError实际定义在哪里?我希望它是验证属性的一部分,或者以某种方式是组件、控制器或路由的一部
操作(mut foo)
构造的问题。我已经读过了,但它没有解决我在这里提出的问题
在Ember.js模板中,使用时,可以执行验证并控制相关错误消息的显示,如下所示
当focus out
触发属性时,更新showFirstNameError
。该属性随后用于控制错误消息的显示或其他方式
这工作得非常好,并且符合标准
但是属性showFirstNameError
实际定义在哪里?我希望它是验证
属性的一部分,或者以某种方式是组件、控制器或路由的一部分,但我找不到
有人能帮我吗 我认为它不需要在任何地方定义。在这种情况下,它可以是未定义的
,因为它的唯一目的是作为一个标志值,所以我们不显示错误div。当组件被创建和呈现时,该属性是未定义的
,它通过作为一个伪值来实现其目的。当focus out事件触发时,它会像您所说的那样将该属性设置为true
,因此标志被翻转
如果你想表现得友好,让事情变得明确,你可以在组件本身上将值设置为null
或undefined
,这样这种情况就不会让下一个人感到困惑:
import Component from '@ember/component';
export default Component.extend({
showFirstNameError: undefined,
});
谢谢你,史蒂文尼尔伯格。我需要知道的是,我可以定义组件本身的属性,并使用这些属性而不是(某种)不可见的属性。这是我个人的偏好,但我更喜欢把它说得更清楚,这就是我现在所做的。再次感谢。辛烷值将有助于消除这种混淆,因为变量应该被引用为
{{this.foo}}
(组件)、{@foo}
(调用时传递的属性)或{foo}
(局部变量,例如由{let}
助手定义)。提案国应执行这些公约。