0
我有一個場景,其中有一個父控制器和多個子控制器,這些控制器可以基於某些業務邏輯存在於一個頁面上。AngularJS指定一個控制器的方式取決於另一個控制器
控制器在dom中的元素上指定,子控制器位於由ngSwitch控制的元素上。
例如這是我正在做的一個頗爲人爲的例子。
父控制器
app.controller('parentCntrl',function($scope){
$scope.model = {};
$scope.model.foo = 42;
//More stuff
});
兒童控制器
app.controller('childCntrl',function($scope){
$scope.model.bar = 24;
$scope.myFunction = function() {
return "The answer is: " + $scope.model.foo;
};
});
正如你所看到的,孩子控制器取決於$scope.model
對象已經存在並依託向上遍歷原型鏈找到它。
有沒有一種方法可以在子控制器上指定它們需要特定的父控制器才能使它們工作?我的子控制器需要查看父範圍的屬性。或者我應該遵循某種其他最佳做法?
感謝
如果我們在定義DOM級別的控制器(父級,子級)時正在討論模型,那很好。但是當關於代碼的時候,對於這樣的事情你必須使用'共享工廠或者服務'並且把它作爲依賴關係傳遞給兩個控制器。 「保留所有共享數據」。你會沒事的。 –
我認爲有人已經回答..但服務是控制器之間共享數據的最佳做法。 – jOshT