从表面上看,这是关于ember-cp验证的问题,但实际上是关于action (mut foo)
构造的问题。我已经读过release notes for when that was first introduced,但没有解决我在这里提出的问题。
在Ember.js模板中,使用ember-cp-validations时,您可以执行验证并像这样控制相关错误消息的显示。
focus-out
触发属性showFirstNameError
时更新。该属性随后用于控制错误消息的显示或其他方式。
这很好用,并且与ember-cp-validation demo一致。
但是属性showFirstNameError
实际定义在哪里?我以为它是validations
属性的一部分,或者以某种方式是组件,控制器或路由的一部分,但我找不到。
有人可以帮我吗?
答案 0 :(得分:2)
我认为不需要在任何地方进行定义。在这种情况下,它只能是undefined
,因为它的唯一目的是成为一个标志值,因此我们不显示错误div。在创建和渲染组件时,该属性为undefined
,并且它是虚假值,因此可以实现其目的。当聚焦事件触发时,它会像您所说的那样将该属性设置为true
,因此该标志已被翻转。
如果您想变得友善并使事情变得明确,则可以在组件本身上将值设置为null
或undefined
,以免这种情况使下一个人感到困惑:< / p>
import Component from '@ember/component';
export default Component.extend({
showFirstNameError: undefined,
});