Как запретить AngularJs устанавливать нулевое значение модели, когда элемент скрыт? - PullRequest
0 голосов
/ 13 февраля 2020
<select ng-model="model.typeId" ng-show="AllowToChangeType(model)" 
        ng-options="item.value as item.text for item in model.types">
</select>

Проблема заключается в том, что когда пользователь нажимает кнопку Сохранить , форма переходит в нередактируемый режим, AllowToChangeType() возвращает false, и когда <select> становится скрытым, model.typeId устанавливается на null. Затем, если пользователь снова нажимает Редактировать , этот <select> регенерируется, но в нем ничего не выбирается, хотя данные были сохранены правильно. В идеале <select> должен показывать сохраненное значение. Как решить эту проблему?

1 Ответ

1 голос
/ 13 февраля 2020

Я думаю, вы делаете неправильные предположения. ng-show не удаляет значение модели, когда элемент скрыт, как доказывает этот плункер: https://plnkr.co/edit/knnLRZcHdQukGawU8iyJ?p=preview

ng-show / ng-hide не регенерирует элементы DOM, они просто изменить свойство видимости

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...