«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Зачем использовать синтаксис «контроллер как» в AngularJS?

Зачем использовать синтаксис «контроллер как» в AngularJS?

Опубликовано 19 ноября 2024 г.
Просматривать:584

Why Use \

Понимание синтаксиса AngularJS «контроллер как»

Введение

В AngularJS введен новый синтаксис для определения контроллеров, «контроллер как», что вызвало ряд вопросов. вопросы о его цели. Цель этой статьи — прояснить причину этого синтаксиса и его преимущества.

Контроллер как синтаксис

Синтаксис «контроллер как» позволяет создать экземпляр контроллера и назначить его переменной в текущем объем. Например:

controller('InvoiceController as invoice')

Этот код сообщает Angular создать экземпляр InvoiceController и сохранить его в переменной счета в текущей области.

Удаление $scope из контроллера

Одним заметным отличием синтаксиса «controller as» является то, что он исключает параметр $scope из определение контроллера. Это позволяет создавать более чистые и лаконичные контроллеры:

// With $scope
function InvoiceController($scope) {
  // Do something with $scope.qty
}

// With controller as
function InvoiceController() {
  // Do something with this.qty
}

Назначение псевдонимов в представлении

Удаление $scope из контроллера упрощает код, но требует указания псевдонима в представлении:

// With $scope


// With controller as

Назначение контроллера как синтаксиса

Синтаксис «контроллер как» был введен в первую очередь по следующим причинам:

  • Удаление $scope: Некоторые разработчики предпочитают избегать синтаксиса $scope, полагая, что он запутывает источник свойств.
  • Ясность происхождения свойств: Используя псевдонимы в представлении, становится ясно, какие свойства какому контроллеру принадлежат. Это особенно полезно при вложении контроллеров.
  • Избежание проблем с правилом точки: Синтаксис «контроллер как» помогает избежать проблем с «правилом точки» AngularJS, которое может затруднить доступ к свойствам. от родительских контроллеров. Это обеспечивает четкий и иерархический доступ к свойствам контроллера.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3