Название может быть немного обманчивым, но я не мог придумать лучшего описания.Выбор области действия
Я написал директиву, которая включает в себя ng-repeat
:
app.directive('appDirective',function($purr){
var template = '' +
'<div ng-repeat="elements in queue">' +
'</div>';
return{
template: template
}
});
Если я правильно, я могу выбрать между двумя способами обеспечения queue
моей директивой
1: с помощью ссылки функции
return{
restrict: 'A',
template: template,
link: function(scope){
scope.queue =[];
}
}
2: через контроллер
return{
restrict: 'A',
template: template,
controller: directiveCtrl
}
app.controller('directiveCtrl',function($scope){
$scope.queue = [];
});
Какой способ выбрать, и почему?
Это, вероятно, не имеет значения. Обратите внимание, что контроллер будет работать до функции связи. –
Спасибо. Может ли этот факт вызвать какие-либо побочные эффекты? – user2422960
Я сомневаюсь. Я видел несколько примеров, когда люди задали свойство scope в функции ссылок и пытались получить к нему доступ в функции контроллера (и задавались вопросом, почему он еще не существует). –