переменная angularjs ng-init json в ng-повтор - PullRequest
0 голосов
/ 25 июня 2018

У меня есть цикл ng-repeat, который проходит через массив json.Массив извлекается через $ http.В этом цикле я хочу добавить некоторые переменные в объект json, которые пригодятся при сравнении старых значений / изменений.

<li class="machine" ng-repeat="machine in machines>
 ....
  <input id="machine-host" ng-model="machine.host"
  ng-init="machine.editHostDisabled=true;machine.originalHost=machine.host"/>
......
</li>

Я прочитал в документации angularjs, что вы не можете или не должны использоватьнг-INIT.Но здесь кажется странным не использовать эту директиву.Приведенный выше код является простым и понятным.Да, я могу установить его в контроллере, но затем мне нужно пройтись по массиву json машин и установить значения в цикле.Кажется, слишком много хлопот.

Эта директива может быть использована для добавления ненужного количества логики в ваши шаблоны.Существует только несколько подходящих вариантов использования ngInit: псевдонимы специальных свойств ngRepeat, как показано в демонстрации ниже.инициализация данных во время разработки или, например, как показано в этих документах.внедрение данных с помощью сценариев на стороне сервера.Помимо этих нескольких случаев, вы должны использовать Компоненты или Контроллеры вместо ngInit для инициализации значений в области.

- Справочник по AngularJS ng-init API - Обзор

Конечно, я понимаю, что обширная функция может вызвать проблемы здесь.Но эта простая строка кода ...?

Кроме того, я вижу текущий способ работы многих примеров по всей сети.

Какое здесь правило следовать?Добавление функции контроллера в ng-init?Но это было бы то же самое, верно?Или приведенный выше код в порядке?

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