这是一个 phonegap 角度应用程序。我本以为绑定到 db 查询返回,result.rows
在我的情况下是可能的,但似乎不是。我可以让它工作的唯一方法是使用注释掉的代码,我手动将数据逐行推送到数组中。这是唯一的方法吗?
绑定到的实际错误.rows
是: Error: Duplicates in a repeater are not allowed. Repeater: item in items key: undefined:undefined
服务:
// only portion of code shown
query: function (q) {
var d = $q.defer();
var db = this.getDb();
db.transaction(function (t) {
t.executeSql(q, [], function (tx, results) {
d.resolve(results);
}, function (err) {
d.reject(err);
});
}, function (err) {
d.reject(err);
}
);
return d.promise;
}
控制器是这样的:
Sql.query('select * from DEMO').then(function (data) {
console.log(data);
//$scope.items = [];
//for (i = 0, l = data.rows.length; i < l; i++) {
//$scope.items.push(data.rows.item(i));
//}
$scope.items = data.rows; // this errors out
$scope.$safeApply();
});
中继器只是一个简单的:
<div ng-repeat='item in items'>{{item.id}} {{item.data}}</div>