Если вы не используете. (Dot) в своих моделях AngularJS, вы делаете это неправильно?
Я помню, как видел эту знаменитую цитату из видео на AngularJS, в котором говорилось, что нужно всегда использовать. (точка) в ваших моделях.
Ну, я пытаюсь следовать этому утверждению, что у меня есть
var item = {} item.title = "Easy Access to support"; item.available = true; item.price = 31.67;
Так что это отлично работает на мой взгляд, я делаю
- Наследование controllerа AngularJS
- Область доступа AngularJS от внешней функции js
- Нужно ли моей ng-модели иметь точную точку, чтобы избежать проблем с областью?
- Отправка события при завершении работы angular.js
- AngularJS доступ к родительской области от дочернего controllerа
{{ item.title }} {{ item.available }}
Я использую точку, поэтому считаю, что это хорошо.
Но у меня есть некоторые свойства, которые я не считаю частью модели, но, возможно, я ошибаюсь. Например, у меня есть свойство, которое я использую для включения или отключения кнопки с помощью ng-disable, я ввел это с использованием точечного формата. В основном это входило так
$scope.disableButton = true;
и я использую его как
ng-disable="disableButton"......
Должен ли я сделать эту часть модели «item»? или создать другой объект js, чтобы я мог удерживать это свойство, используя точку?
Кто-нибудь знает, если это приемлемо или я должен делать все (даже эти простые свойства) с .dot ??
благодаря
- Как получить доступ к переменной $ scope в консоли браузера, используя AngularJS?
- Как игнорировать начальную загрузку при просмотре изменений модели в AngularJS?
- $ rootScope. $ broadcast vs. $ scope. $ emit
- AngularJs: страница перезагрузки
- Как использовать $ scope. $ Watch и $ scope. $ Применять в AngularJS?
- angularJS: как вызвать функцию дочернего объекта в родительском пространстве
- Почему используется if (! $ Scope. $$ phase) $ scope. $ Apply () анти-шаблон?
- Функция угловой области, выполняемая несколько раз
«Всегда должна быть точка в вашей модели» относится к ngModel
. Эта директива делает двустороннюю привязку. Если вы выполняете двустороннюю привязку к примитиву (например, булеву в вашем случае), установщик будет устанавливать его в текущей области, а не в области, на которой он определен, что может вызвать головную боль, когда у вас есть большой пользовательский интерфейс, интерфейс с большим количеством дочерних областей. Он не относится к другим директивам, таким как ngDisable
. См. Это объяснение для получения дополнительной информации об этой конкретной проблеме.
Пример сценария: родительская область с $scope.foo = "bar"
и $scope.foo = "bar"
область с . Сначала он отображает
bar
, но как только пользователь изменит значение, в области дочерних foo
будет создано foo
, и привязка будет читать и записывать это значение. Исходный foo
останется bar
. Надеюсь, что это хорошо.
Поэтому для целей ngModel
вам может потребоваться создать объект для работы с такими проблемами связывания, но для любой другой директивы вы должны иметь регулярную логическую группировку.