angular directive 等controller執行完後再執行?

父節點 ng-controller="aCtrl " 非同步請求 設置scope.key={ } scope.name=" "

子節點 b-directives 需要用到父節點的scope.key scope.name

求解 怎麼做 我現在執行b-directives的時候 控制器非同步請求還沒返回 scope.key={ } scope.name=" " 都不存在


自定義directive的時候有個 scope配置屬性,可以設置和父scope的某些屬性實現雙向綁定,請自行測試,大致代碼如下

&
&

xxx.directive("bDirective", function() {
return {
restrict: "E",
scope: {
customerKey: "=key",
customerName: "=name" //scope的更多配置參見官方文檔
},
link:function(scope, element, attrs) {
//1. 如果是在element綁定事件中得到數據,可以使用 scope.customerKey scope.customerName 進行操作
//2. 如果想在 key和name變化後得到數據,實行某個操作的話,必須要watch,此時可以去除scope:{...}
//如:scope.$watch(attrs.key,function(newValue,oldValue){ ... });
}
};
});


推薦閱讀:

一個優秀的前端工程師簡歷應該是怎樣的?
如何劃分前端技術階段?
HTML 靜態頁面的頭部和底部都是相同的,如何讓每個頁面統一調用一個公共的頭部和底部呢?
關於angualr網站後台?
如何看待 ECMAScript 2018 規範?

TAG:JavaScript | AngularJS |