angularjs - Angularjs scope.safeapply() 刷新
问题描述
我的问题是:我用 AngularJS 创建了一个 Cordova APP-s。这段代码有效,但我有一个小问题。当我点击屏幕时,屏幕正在刷新。所以没有自动刷新。我尝试了 $scope.apply() 而不是 $scope.safeApply() 但它不起作用。即使 application_data 表中有数据,也没有显示数据。
我的控制器:
$scope.datas = [];
db.transaction(function(transaction) {
transaction.executeSql('SELECT * FROM application_data', [], function (tx, results) {
var len = results.rows.length, i;
for (i = 0; i < len; i++){
$scope.id = results.rows.item(i).id;
$scope.name = results.rows.item(i).name;
$scope.date = results.rows.item(i).date;
$scope.datas.push({id: $scope.id, name: $scope.name, date: $scope.date});
}
}, null);
$scope.safeApply();
});
我的观点:
<div ng-repeat="data in datas">
{{data.id}} - {{data.name}} - {{data.date}}
</div>
解决方案
尝试将代码放入 $scope.$apply
$scope.datas = [];
db.transaction(function(transaction) {
transaction.executeSql('SELECT * FROM application_data', [], function (tx, results) {
var len = results.rows.length, i;
$scope.$apply(function() {
for (i = 0; i < len; i++){
$scope.id = results.rows.item(i).id;
$scope.name = results.rows.item(i).name;
$scope.date = results.rows.item(i).date;
$scope.datas.push({id: $scope.id, name: $scope.name, date: $scope.date});
}
});
}, null);
});
推荐阅读
- reactjs - 如何使用 webpack 在 React 中创建 Bundle
- python - paramiko.SSHClient.exec_command 挂起
- c# - 带有 WebRootPath 的图像路径不起作用。IHosting环境
- haskell - 为什么每个haskell 类型都被提升(即被_|_ 占用)?
- tensorflow - 多元 LSTM 未正确训练
- python - 从python中的文件读取时如何将字符串读取为整数
- character-encoding - 如何绕过“注入XSS有效载荷?
- android - 为什么 ToolbarPlacement 在 xaml 中不再起作用
- android - 问题:违反干扰应用、第三方广告或设备功能政策
- java - 将 DATE 插入 MYSQL 数据库。将值从 Android 发布到 PHP