0
我希望瞭解嵌套指令中預鏈接的順序。我已經制定了以下的html:不遵守指令的預鏈接排序
<directive-a ng-model="model1" directive-b="true">
</directive-a>
<ssn-widget ng-model="abc" hc-initial="true">
</ssn-widget>
繼在相關的javascript:
angular.module("directiveTest", [])
.directive("directiveA", function(){
return {
require: "ngModel",
restrict: "E",
compile: function(){
return {
pre: function(scope, element, attrs, ngModelCtrl){
alert("in pre of directiveA");
}
}
}
};
})
.directive("directiveB", function(){
return {
require : "ngModel",
restrict: "A",
compile: function(){
return {
pre: function(scope, element, attrs, ngModelCtrl){
alert("in pre of directiveB");
}
}
}
};
})
.directive("ssnWidget", function(){
return {
require: "ngModel",
restrict: "E",
compile: function(){
return {
pre: function(scope, element, attrs, ngModelCtrl){
alert("in pre of ssnWidget");
}
}
}
};
})
.directive("hcInitial", function(){
return {
require : "ngModel",
restrict: "A",
compile: function(){
return {
pre: function(scope, element, attrs, ngModelCtrl){
alert("in pre of hcInitial");
}
}
}
};
});
我的印象中,預連接功能從父跑到孩子。因此,directive-a
和ssn-widget
的預鏈接函數應分別在directive-b
和hc-initial
之前運行。但是,這對於directive-a
和directive-b
對而言是如此,但對於ssn-widget
和hc-initial
則不適用。我無法理解這種行爲。以下是plunker:
字母順序對我來說是一個驚喜。 :) – Vaibhav 2014-11-01 08:07:38