Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 其中定义了该值-“;(动作(mut foo)true)“;?_Ember.js_Ember Cp Validations - Fatal编程技术网

Ember.js 其中定义了该值-“;(动作(mut foo)true)“;?

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实际定义在哪里?我希望它是验证属性的一部分,或者以某种方式是组件、控制器或路由的一部

表面上这是一个关于ember cp验证的问题,但实际上是关于
操作(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}
助手定义)。提案国应执行这些公约。