某草草2017-05-15 17:01:38
我們的專案中也有很多這種問題,簡單說下我目前的解決方法。和上面一樣也是封裝了個service , 用http去請求數據,回來數據的時候存一份到緩存,所有controller要數據都走這個service,保證數據的一致。
巴扎黑2017-05-15 17:01:38
一般封裝server時基本上都會用promise進行封裝的。 (推薦做法)
題主不想用promise,那就使用callback也能解決問題。
還有一個想法就是使用事件通知,當server取得到資料後,利用事件通知controller.
仅有的幸福2017-05-15 17:01:38
樓上說了 使用callback可以解決 我試了一下 成功了 分享一下代碼,希望對你有用
send() 是keyup事件 來動態取得 第一個控制器裡面的輸入值
var app = angular.module("zgeApp",[]);
app.controller('firstCtrl', ['$scope','change', function($scope,change){
$scope.send = function(){
change.callback($scope.name)
}
}])
app.controller('secondCtrl', ['$scope','change', function($scope,change){
change.callback = function(data){
$scope.name1 = data;
}
}])
app.service("change",function(){
return {};
})