Я начинаю проект с AngularJs (v 1). И это было приятно, пока я не начал задаваться вопросом о качестве моего проекта. Потому что теперь я стараюсь избегать злоупотребления $scope
, $scope.$apply
, $scope.broadcast
и другими приятными вещами.AngularJs, о цикле дайджест
Так что теперь все мои _controller_s используют var vm = this;
вместо $scope
, а мои директивы используют обратные вызовы вместо $scope.$apply
. Проблема в том, что изменения не обновляются. Хотя использование $scope.$apply
атрибута модели внутри директивы автоматически обновляло представления, это не так с обратным вызовом контроллера, который обновляет атрибут модели. Тогда обходным путем является использование _event_s, но с $scope.$broadcast
и его друзьям не рекомендуется, я должен создать своих собственных наблюдателей.
Но в конце я чувствую, что теряю классные функции AngularJs. И начал задаваться вопросом, как это делают профессионалы.
- Как вы гарантируете, что изменения, внесенные в модель, будут обновлены до представления?
- Как вы гарантируете, что изменения, внесенные в модель из представления, будут обновлены до другого (основные данные)?
Большое спасибо за ваши советы.
Это довольно широкий вопрос. Для общих советов нам помогла [Руководство по стилю с угловым 1] (https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md). – TrueWill
Очень широк. Укажите конкретный минимальный пример того, что не работает, как вы ожидаете. С кодом. –