簡體   English   中英

在AngularJS中將數據從一個控制器傳遞到另一個控制器

[英]Passing data from one controller to another controller in AngularJS

如何將數據從一個控制器傳遞到另一個控制器?

我讀了很多東西,例如使用root Scope,使用服務,使用廣播事件等,但似乎什么都沒有用。 有人可以指導我嗎?

您可以使用服務factory在控制器之間共享數據。

演示

 var app = angular.module("clientApp", []) app.controller("TestCtrl", function($scope,names) { $scope.names =[]; $scope.save= function(){ names.add($scope.name); } } ); app.controller("TestCtrl2", function($scope,names) { $scope.getnames = function(){ $scope.names = names.get(); } } ); app.factory('names', function(){ var names = {}; names.list = []; names.add = function(message){ names.list.push({message}); }; names.get = function(){ return names.list; }; return names; }); 
 <!doctype html> <html > <head> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> <script src="script.js"></script> </head> <body ng-app="clientApp"> <div ng-controller="TestCtrl"> <input type="text" ng-model="name"> <button ng-click="save()" > save</button> </div> <div ng-init="getnames()" ng-controller="TestCtrl2"> <div ng-repeat="name in names"> {{name}} </div> </div> </body> </html> 

路線演示

I think you are switching controller due to state change. Then an easy way to pass data from parent controller to any child controller apart from using factory or services is using state params

// In parent controller
$state.go('child.state', {
        'key' : $scope.value
    });
 //In child controller
$scope.sentObject = angular.copy($stateParams.key);

暫無
暫無

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

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