0
我有一個$scope
字段,我在一個<img>:
AngularJS範圍不會注意到變化
$scope.imageDataUrl
的字段使用一個ng-src
屬性如下初始化:
$scope.myJsWrapper = new MyJsWrapper();
$scope.myJsWrapper.getImageUrl(function (imageDataUrl) {
$scope.imageDataUrl = imageDataUrl;
});
在這裏,外部JS功能:
function MyJsWrapper() {
this.getImageUrl = function (withImage) {
thirdPartyJsFile.getData().then(function (data) {
var imageDataUrl = thirdPartyJsFile.getDataUrl(data, "image/png");
if (withImage) {
withImage(imageDataUrl);
}
});
}
}
這是一種複雜的方式,但是第三方應用程序迫使我這樣做。 我的問題是,不知何故角沒有注意到字段imageDataUrl
的變化。所以圖像不會更新。 我甚至試圖爲$scope.$watch
該字段,但它沒有被觸發。 有趣的是,當我在瀏覽器中滾動或點擊任何地方(以及$scope.$watch
)時,它會發生變化。
爲什麼角度不能識別字段變化,我該怎麼做才能使它工作?
您是否嘗試在更改圖像源後調用'$ scope。$ apply()'? –