Я узнаю об Угловом directive
и не могу обмотать голову вокруг темы scope
. Предположим, у меня есть этот обычай directive
, который называется parentDirective
. Он имеет controller
свойство и link
свойства, а именно:Угловая директива: какова разница между областью действия в контроллере и областью действия в функции связи?
angular.module("app").directive("parentDirective", function() {
return {
restrict: "E",
templateUrl: "dirs/parent.html",
scope:{
character: "="
},
controller: function ($scope) {
$scope.getData = function (data) {
console.log(data);
}
},
link: function (scope,elem, attrs) {
elem.bind("click", function (e) {
//get object here?
});
scope.getData = function (data) {
console.log(data);
}
}
}
});
Его шаблон определяются следующим образом:
<p ng-click="getData(character)">
{{character.name}}
</p>
я могу получить character
объект в функции controller
через $scope
переменных и I имеют доступ к тем же данным в функции link
через scope
. В чем разница между этими двумя методами в этом отношении? Второй вопрос, можно ли связать click
к directive
и получить объект, как это:
elem.bind("click", function (e) {
//get object here?
});
Без разницы. Это тот же объект. – estus