如何将一些数据从一个控制器传递到另一个对等控制器
我有以下两个对等控制器。这些没有父项:
<div data-ng-controller="Controller1"></div>
<div data-ng-controller="Controller2">
The value of xxx is: {{ xxx }}
</div>
angular.module('test')
.controller('QuestionsStatusController1',
['$rootScope', '$scope'
function ($rootScope, $scope) {
// How can I set the value of xxx in the HTML that's part of Controller2
}]);
angular.module('test')
.controller('QuestionsStatusController2',
['$rootScope', '$scope',
function ($rootScope, $scope) {
}]);
在控制器1中,我想更新由Controller2控制的HTML中的变量xxx的值。有办法吗?
回答:
绝对使用服务在控制器之间共享数据,这是一个有效的示例。$
broadcast不是要走的路,您应该避免在有更合适的方式时使用事件系统。使用“服务”,“值”或“常量”(用于全局常量)。
http://plnkr.co/edit/ETWU7d0O8Kaz6qpFP5Hp
这是带有输入的示例,因此您可以在页面上看到数据镜像:http :
//plnkr.co/edit/DbBp60AgfbmGpgvwtnpU
var testModule = angular.module('testmodule', []);testModule
.controller('QuestionsStatusController1',
['$rootScope', '$scope', 'myservice',
function ($rootScope, $scope, myservice) {
$scope.myservice = myservice;
}]);
testModule
.controller('QuestionsStatusController2',
['$rootScope', '$scope', 'myservice',
function ($rootScope, $scope, myservice) {
$scope.myservice = myservice;
}]);
testModule
.service('myservice', function() {
this.xxx = "yyy";
});
以上是 如何将一些数据从一个控制器传递到另一个对等控制器 的全部内容, 来源链接: utcz.com/qa/403061.html