[英]Load angularjs controller dynamically from html
我有2個控制器。 我從第一個控制器中獲得了一個復合JS對象,其中包含一些元素+ JS對象+許多數組
我想分別使用各種數組對象多次初始化第二個控制器。
我正在使用此代碼初始化第二個控制器。
app.controller('SSController', function($scope) {
$scope.init = function(initData)
{
$scope.initData = initData;
};
<div ng-controller="TTController">
<div ng-controller="SSController" ng-init='init({currData})'>
</div>
</div>
其中,currData是TTController范圍對象的屬性。
如果我在init中傳遞了一個硬編碼的數字,它將被傳遞,而不是currData對象。 即使是來自currData的整數值(例如currData.id)也不會傳遞。
任何想法如何做到這一點?
我認為您應該編寫指令而不是控制器。 請考慮以下模式。
<div ng-controller="TTController">
<div my-process-array="dataToWatch">
</div>
</div>
然后
app.directive('myProcessArray', function(){
return function(scope, elem, attrs){
elem.bind('click', function(){
// do click stuff
});
scope.$watch(attrs.myProcessArray, function(newdata, olddata){
// do stuff with data from the parent controller.
});
};
});
相反,定義一些保存數據的服務。 首先,將服務注入TTController,然后修改/填充數據,然后將相同服務注入SSController。.:)與指令和控制器相比,使用Services更好。表示服務數據.. :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.