1

表面上这是一个关于 ember-cp-validations 的问题,但实际上它是关于action (mut foo)构造的。我已经阅读了首次引入时的发行说明,但它没有解决我在这里提出的问题。

在 Ember.js 模板中,使用ember-cp-validations时,您可以执行验证并控制相关错误消息的显示,如下所示。

在此处输入图像描述

focus-out触发时showFirstNameError更新属性。该属性随后用于控制错误消息的显示或其他方式。

这工作得很好,并且与ember-cp-validation 演示一致。

但是该属性showFirstNameError实际定义在哪里?我期待它成为validations属性的一部分,或者以某种方式成为组件、控制器或路由的一部分,但我找不到。

任何人都可以帮我解决这个问题吗?

4

1 回答 1

2

我不认为它需要在任何地方定义。在这种情况下,它可能只是undefined因为它的唯一目的是成为一个标志值,所以我们不显示错误 div。当组件被创建和渲染时,该属性是undefined并且它通过成为一个虚假值来达到其目的。当 focus out 事件触发时,它会将该属性设置为true您所说的那样,因此标志已被翻转。

如果您想变得友善并明确表示您可以将值设置为组件本身nullundefined组件本身,这样这种情况就不会混淆下一个人:

import Component from '@ember/component';

export default Component.extend({

  showFirstNameError: undefined,

});
于 2019-06-23T02:54:26.403 回答