La compréhension de la façon dont la directive niveau de priorité des travaux en Angularjs
app.js
est:
var app = angular.module('myApp',[]);
app.directive('myDirective2', function () {
return{
restrict: 'A',
priority: 100,
//template:"<h1>myDirective2</h1>",
controller: function ($scope, $element, $transclude,$timeout) {
//$scope.name = "executed myDirective2";
$timeout(function () {
$scope.name = "executed myDirective2";
}, 3000);
}
};
});
app.directive('myDirective3', function () {
return{
restrict: 'A',
priority: 200,
//template:"<h1>myDirective3</h1>",
controller: function ($scope, $element, $transclude, $timeout) {
$timeout(function () {
$scope.name = "executed myDirective3";
}, 3000);
}
};
});
Et index.html
est:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<script src="js/angular.js" type="text/javascript"></script>
<script src="js/app.js" type="text/javascript"></script>
</head>
<body>
<div my-directive3 my-directive2></div>
<br/>
Name:{{name}}
</body>
</html>
Bien que la priorité pour my-directive2
est moindre que my-directive3
encore pourquoi my-directive2
est arriver exécuté? Ne doit-il pas être de la directive avec une priorité plus élevée qui dans ce cas est my-directive3
?
OriginalL'auteur user4904589 | 2015-10-16
Vous devez vous connecter pour publier un commentaire.
La priorité est un nombre pour lequel la directive est exécuté première dans le cas de plusieurs priorités. Fondamentalement, vous avez de l'utiliser pour déterminer l'ordre d'exécution, de ne pas exclure d'autres directives.
Vous pouvez en lire plus à ce sujet ici.
OriginalL'auteur arg20