是的,我知道這個問題已被問到,但我仍然遇到以下指南中的問題。使用服務在angularjs控制器上共享對象
我有兩個控制器和要經由服務共享一個簡單對象如下:
var app = angular.module('plunker', []);
app.controller('CtrlOne', function($scope,DataSrvc) {
$scope.data={
var1:'controller1 var one',
var2:'controller1 var two'
};
$scope.$on('name',function(){
DataSrvc.var1=$scope.data.var1;
DataSrvc.var2=$scope.data.var2;
});
})
.controller('CtrlTwo',function($scope,DataSrvc){
$scope.data=DataSrvc;
});
app.factory('DataSrvc',function(){
return {
var1:'',
var2:''
}
});
欲控制器2自動更新時控制裝置1改變它的對象。但是我在這裏做錯了什麼?請指教。
這裏http://plnkr.co/edit/LO0qQfyV94A9YEBLsk2R?p=preview代碼
我覺得你在使用'$ on('name')'時遇到問題。檢查我的plunker使用'$ watch'來更新'DataSrvc'值:http://plnkr.co/edit/Sv4QkzvSJlws3963WVec?p=preview – mostruash