[英]In AngularJS how to access multiple child scopes from parent scope
我有一個父zone builder
控制器,該控制器具有多個US States
,每個州內可以有多個郵政編碼。
以下是該格式的基本知識:
建築控制器
app.controller("builderController", function($scope, $http, $rootScope, $timeout) {
$scope.zones = [];
});
郵編控制器
app.controller("zipController", function($scope, $http, $rootScope, $timeout) {
$scope.zipCodes = [];
$scope.addZipCode = function() {
$scope.zipCodes.push({code: '', distance: '25mi'});
}
$scope.removeZipCode = function(index) {
console.log(index, 'index removing');
$scope.zipCodes.splice(index, 1);
}
});
在構建器控制器內部的一個builderController
可以有multiple zipControllers
,我想提出一個對象或方法來遍歷所有Zip控制器,以便每次使用以下一種方法時,我都能計算出總距離和所用郵政編碼的數量。子控制器已更新。
在Angular中最有效的方法是什么?
基本目標
所以有可能是4-5 zipController
在一個元素builderController
我想有一個變量在builderController
稱為像totalZipCodes
其計算在每個郵政編碼總數zipCodes
陣列的每個控制器,我會怎么做,與服務或廠? 還是有另一種方法?
將數據存儲在工廠中,然后讓控制器致電工廠進行計算。
正如@PrinayPanday在他的評論中建議的那樣,您應該使用類似組件/指令的方法來執行此操作。 首先,我不確定是否會受到約束,因此我將交替使用術語“指令”和“組件”。 我可以通過執行以下操作來實現:
您還可以使用子級的作用域在某些事件(例如$onInit
)上聲明回調,而不用定義指令控制器。 我已經回答了幾個這樣的問題。 因此,您可能會發現以下答案有助於進一步了解上述解決方案:
當我重新閱讀您的問題時,我不得不問是否有更好的方法可以通過在服務/模型中共享數據而不是自定義指令來解決此問題?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.