2013-12-16 84 views
3

角专家,更新NG-模型从另一个角度JS控制器

我新的角度JS和尝试在一个控制器与来自其他控制器的输入值更新输入。我不确定这是否可行?

我创建了js小提琴链接只是为了给出一个想法。

http://jsfiddle.net/MwK4T/

在这个例子中,当你进入控制器2的输入值,然后单击“设置值它更新<li></li>招投标,但开不及时更新控制器1

由于输入提前

+0

我觉得对于“角控制器之间的通信”一搜可能会帮助你。它应该揭示一些方法,但相当标准的方法是将模型提供给注入两个控制器的服务。 –

+0

谢谢Michal ...我的解决方案如下... – microchip78

回答

18

我让它使用$广播工作。它正在像一个魅力。

我做了这样的事情。

App.controller('Ctrl1', function($rootScope, $scope) { 
    $rootScope.$broadcast('msgid', msg); 
}); 

App.controller('Ctrl2', function($scope) { 
    $scope.$on('msgid', function(event, msg) { 
    console.log(msg); 
    }); 
}); 

感谢您的帮助。

+0

这对我很好。希望我能给你多个+1! – paulj

+1

很高兴听到... – microchip78

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"; 
    }); 

检查working example

相关问题