angular directive 等controller執行完後再執行?
01-06
父節點 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 |