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()'? –