2015-04-14 81 views
-1

我有兩個控制器在我的代碼和一個有一個數組。我想從其他控制器使用此數組,但它不起作用。AngularJs控制器分享

我簡化了代碼,使其易於理解。

我的第一個控制器;

app.controller('mycont1', ['$scope','$timeout', function($scope, $timeout) { 

var my; 

my=['1','something',.......]; 

}]); 

我在指令中的第二個控制器;當我調用它時,它找不到它。如何從其他控制器使用此數組?

+0

分享您的代碼正確,使人們可以瞭解它.. – Ved

+0

我只想知道,我怎麼能在這些類型的條件的其他控制器元件進行通信[角的 – user4773604

+0

可能重複:之間共享數據控制器](http://stackoverflow.com/questions/21919962/angular-share-data-between-controllers) –

回答

2

如果你想在控制器之間共享這樣的數據,我建議你創建一個他們都可以依賴的服務。

HTML:

<div ng-app="app"> 
    <p ng-controller="controller1">{{message}}</p> 
    <p ng-controller="controller2">{{message}}</p>  
</div> 

的JavaScript:

var app = angular.module('app', []); 

app.service('dataService', function() { 
    return { 
     message: 'Hello world!' 
    }; 
}).controller('controller1', function($scope, dataService) { 
    $scope.message = dataService.message; 
}).controller('controller2', function($scope, dataService) { 
    $scope.message = dataService.message; 
}); 

工作小提琴這裏:https://jsfiddle.net/ben1729/yeLd9rnb/3/

+0

你能舉一個例子嗎 – user4773604

+0

例子來... – bm1729