2013-12-16 83 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

相關問題