Где определяется это значение - "(action (mut foo) true)"?

На первый взгляд, это вопрос об ember-cp-validations, но на самом деле речь идет о action (mut foo) построить. Я прочитал примечания к выпуску, когда это было впервые представлено, но это не решает проблему, которую я поднимаю здесь.

В шаблоне Ember.js при использовании ember-cp-validations вы можете выполнять проверки и управлять отображением соответствующего сообщения об ошибке, подобного этому.

когда focus-out увольняет собственность showFirstNameError обновляется. Это свойство впоследствии используется для управления отображением или иным образом сообщения об ошибке.

Это работает отлично и согласуется с демонстрацией ember-cp-validation.

Но где собственность showFirstNameError на самом деле определяется? Я ожидал, что это будет частью validations свойство или каким-то образом часть компонента, контроллера или маршрута, но я не могу найти.

Может ли кто-нибудь помочь мне с этим, пожалуйста?

1 ответ

Я не считаю, что это нужно где-то определять. В этом контексте это может быть простоundefinedпотому что его единственная цель - быть значением флага, поэтому мы не показываем div с ошибкой. Когда компонент создается и отображается, это свойствоundefinedи он служит своей цели, будучи ложной ценностью. Когда срабатывает событие вывода фокуса, оно устанавливает для этого свойства значениеtrue как вы сказали, и поэтому флаг был перевернут.

Если вы пытаетесь быть вежливым и делать вещи явными, вы можете установить значение null или undefined на самом компоненте, чтобы такая ситуация не смущала следующего человека:

import Component from '@ember/component';

export default Component.extend({

  showFirstNameError: undefined,

});
Другие вопросы по тегам