如何将一些数据从一个控制器传递到另一个对等控制器

我有以下两个对等控制器。这些没有父项:

<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

回到顶部