我正在使用窗口對象和延遲爲了注入一些內容到我的控制器,這是我創建它時不可用。第一次我打電話時,這樣工作的很好 - .then方法執行得很好。但是當我隨後調用它時,.then方法不會觸發。什麼會造成這種情況?angularjs推遲然後只被調用一次
app.factory('fromoutside', function ($window, $q, $rootScope) {
var deferred = $q.defer();
$window.injectIntoAngularWorld = function (obj) {
deferred.resolve(obj);
$rootScope.$apply();
};
return deferred.promise;
});
這是一個模擬我在做什麼但不完全的小提琴。它會拋出關於應用程序已經在進行中的錯誤,但再次,我得到了這些很多,並經常忽略他們fiddle
? – smk 2013-03-05 18:54:34
不應該在結果中看到4,5,6而不是1,2,3? – VBAHole 2013-03-05 18:56:23
爲什麼將延期添加到'$ window'而不是將服務注入到控制器中?順便說一句:「$摘要已經在進行中」是*不是*一個正常的錯誤,絕對是你不應該忽略的。它表明你的代碼有問題。 – 2013-03-05 18:57:49