Angular Experts,
我是Angular Js的新手并尝试使用另一个控制器中的输入更新一个控制器中的输入。我不确定它是否可能?
我创建了js小提琴链接只是为了给出一个想法。
在此示例中,当您在控制器2的输入中输入一个值,然后单击“设置值”时,它会更新与<li></li>
的绑定,但不会更新控制器1的输入。
提前致谢
答案 0 :(得分:18)
我使用$ broadcast工作了。它的工作就像一个魅力。
我做了类似的事。
App.controller('Ctrl1', function($rootScope, $scope) {
$rootScope.$broadcast('msgid', msg);
});
App.controller('Ctrl2', function($scope) {
$scope.$on('msgid', function(event, msg) {
console.log(msg);
});
});
感谢您帮助我。
答案 1 :(得分:2)
最好的方法是使用该服务,我们需要尽可能地避免这个事件,看看这个
var app= angular.module('testmodule', []);
app.controller('QuestionsStatusController1',
['$rootScope', '$scope', 'myservice',
function ($rootScope, $scope, myservice) {
$scope.myservice = myservice;
}]);
app.controller('QuestionsStatusController2',
['$rootScope', '$scope', 'myservice',
function ($rootScope, $scope, myservice) {
$scope.myservice = myservice;
}]);
app.service('myservice', function() {
this.xxx = "yyy";
});