0
Сообщается, что «NgModelController предоставляет API для директивы ng-model».Что делает NgModelController контроллером?
Так почему же он не называется NgModelDirective?
Сообщается, что «NgModelController предоставляет API для директивы ng-model».Что делает NgModelController контроллером?
Так почему же он не называется NgModelDirective?
Директива может (но не обязательно) иметь контроллер.
NgModelController
- это буквально контроллер, который используется для директивы ngModel. Я думаю, именно поэтому он назван соответственно.
Вы можете увидеть, где ngModel is defined here и the controller is here
var ngModelDirective = function() {
return {
require: ['ngModel', '^?form'],
controller: NgModelController
// *snip*
}
Кажется странным, что директива будет нужен контроллер, когда он такие методы, как «ссылку» настройки. –
ссылка прекрасна, если вы хотите подключиться к родным событиям, а что нет, но иногда директива более сложна. Например, он может иметь шаблон, который имеет привязки и требует настройки свойств области. Наличие контроллера + шаблона делает все эти вещи более чистыми. –
Итак, если вы добавили ng-controller = "ctrl1" в тег , не означает ли это, что элемент получает два контроллера? –