gpt4 book ai didi

javascript - Angularjs $apply() 用于 $rootscope 变量?

转载 作者:行者123 更新时间:2023-11-28 07:46:04 25 4
gpt4 key购买 nike

我正在 ionic cordova 平台上工作。在应用程序运行时,我正在读取存储在移动设备上的文件。

文件成功读取后,我正在存储数据并将其绑定(bind)到 $rootScope.Favorites;

但我的收藏夹地址没有约束力:

在警报中它显示返回的数据。但不更新 View

$cordovaFile.createDir('comMyTaxi', false).then(function(success) {
$cordovaFile.checkFile('comMytaxi/myFavAdd.txt.gz').then(function(
success) {
alert('file found');
$cordovaFile.readAsText('comMytaxi/myFavAdd.txt.gz').then(
function(success) {
// alert(success);
$rootScope.Favorites = [];
var data = JSON.parse(success);
if (data.length > 0) {
for (var v = 0; v < data.length; v++) {
$rootScope.Favorites.push(data[v]);
}
alert($rootScope.Favorites.length);
}
}, function(err) {
//alert('err in reading');
});
}, function(err) {
// alert('no file found');
});
}, function(err) {
// alert('fail file dir');
});

在内部 View 中,我直接绑定(bind) $rootScope.Favorites 变量

<div class="item item-button-right" ng-repeat="Address in Favorites">
<i class="icon ion-ios7-location fontcolorMR FontSize24"></i>
<span class="FontSize14 VerticalAlignTop">&nbsp;&nbsp;{{Address.Name}} {{Address.Street}} {{ Address.City}} {{ Address.PostCode}}</span>
<button class="button button-clear" ng-click="removeFavorites($index)">
<i class="icon ion-ios7-trash FontColorB" ></i>
</button>
</div>

如何立即看到更改?

最佳答案

由于您正在从 Angular 世界之外填充数据,因此完成后您只需手动启动摘要循环:

if (data.length > 0) {
for (var v = 0; v < data.length; v++) {
$rootScope.Favorites.push(data[v]);
}
$rootScope.$apply();
}

关于javascript - Angularjs $apply() 用于 $rootscope 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27420266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com