簡體   English   中英

AngularJS-在控制器之間共享數據

[英]Angularjs - sharing data between controllers

有兩個控制器。 一個控制器將數據寫入對象,而另一個控制器則需要讀取數據。 我可以在我的app.js文件中有一個全局變量,該變量可以在兩個控制器中使用。 我很困惑,為什么一個人需要使用服務在控制器之間共享數據? app.js ::::::

var msg = 'message init'
app.controller('readController', function($scope){
      $scope.msg = msg
      console.log(msg)
});
app.controller('writeController', function(){
      msg = 'message is written'
});

寫控制器中所做的更改不會反映到讀控制器中嗎? 在這種情況下,控制台必須具有“已寫入消息”。

您可以在$ rootScope中讀寫數據。 對於簡單數據,我認為您不需要服務。 但是請記住,這可能不是一個好的設計。

app.controller('readController', function($scope, $rootScope){
  $scope.myMsg = $rootScope.msg;
  console.log($scope.myMsg);
});

app.controller('writeController', function($rootScope){
  $rootScope.msg = 'message is written';
});

我不建議寫入全局變量,然后在控制器之間共享數據。 取而代之的是,您可以更簡單地與服務和工廠共享數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM