簡體   English   中英

如何將對象包裝在angularjs服務中(並觀察該對象的更改)?

[英]How do I wrap an object in an angularjs service (and watch this object for changes)?

我想知道如果該對象不是“角度的一部分”,我將如何去觀察它的變化。 因此,例如,我有一個模塊,可以將其命名為watchModule,該模塊可在窗口中直接訪問。 我現在正在做的事情(我確定是錯誤的,這就是為什么我要尋求幫助!)就是這樣的事情

angular.module('test', [])
.factory('WatchModule', function(){
    return watchModule;
})

我遇到一個問題:

此對象(watchModule)在DOM就緒時實例化。 因此,當angularJS首次建立此服務時,它將返回undefined。 也許直接的結果是,定義對象后,angularJS不會繼續更新。

我希望可以看到這樣的對象。 我正在處理的項目是一個WebGL應用程序,對於某些東西成為angular的“成員”並沒有太大的意義。 我只想看他們檢索一些值。

Angular可以監視在根目錄或某個控制器上附加到scope對象。 通過在摘要循環上調用功能,它也可以監視功能。

在您的情況下,這意味着如果您要監視watchModule ,則必須將其附加到作用域或創建一個包裝它的函數。

$scope.watched=WatchModule;
   $scope.$watch('watched',function(newValue,oldValue) {
});

如果這不起作用,則可能是角度正在觀察的參考不是您正在使用的參考。 如果要監視WatchModule的子屬性,請傳入一個額外的參數以將其視為true以確保對象相等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM