コントローラ、link、compileが違います
1888 ワード
テストケース
コントローラは先に実行し、compileは後で実行し、linkは実行しません.
前の例のcompileを注釈して、controllerは先に実行して、linkは後で実行して、linkとcompileは互換性がありません
.directive('testDirective', function() {
return {
restrict: 'E',
template: '<p>Hello {{number}}!</p>',
controller: function($scope, $element){
$scope.number = "controller:"+$scope.number;
},
link: function(scope, el, attr) {
scope.number = "link:"+scope.number;
},
compile: function(element, attributes) {
return {
pre: function preLink(scope, element, attributes) {
scope.number = "compile: pre:"+scope.number;
},
post: function postLink(scope, element, attributes) {
scope.number = "compile: post:"+scope.number;
}
};
}
}
});
コントローラは先に実行し、compileは後で実行し、linkは実行しません.
前の例のcompileを注釈して、controllerは先に実行して、linkは後で実行して、linkとcompileは互換性がありません