我有一个表显示来自websql本地数据库的数据列表。单击添加按钮列表的医生提供添加到数据库。添加已完成但问题是我无法更新数据列表和看到添加的记录。页面刷新后我可以看到添加的记录。任何人都可以帮助我。我在下面发布我的代码.html视图模板如下:
<table class="table table-hover" >
<tr>
<th>DOCTOR</th>
<th>SPECIALITY</th>
<th>PATCH</th>
<th>CLASS</th>
<th> </th>
</tr>
<tr ng-repeat="doc in listDoctors">
<td>{{ doc.contactName }}</td>
<td>{{ doc.speciality }}</td>
<td>{{ doc.townName }}</td>
<td>{{ doc.class }}</td></tr></table>
现在控制器确实:
//displays list of doctors
$scope.listDoctors = [];
readData.transaction(sqlDoctorDetails,0)
.then(function (data) {
$scope.listDoctors=data;
});
将数据添加到数据库
$scope.AddToList = function() {
var db = openDatabase("database");
db.transaction(function(tx) {
tx.executeSql(insertStatement);
});
请帮助我改进代码,以便在将新条目添加到数据库时更新列表。 sqlDoctorDetails和insertStatement是我的查询变量,分别用于显示和插入数据。
答案 0 :(得分:0)
我的Angular知识生疏,但我认为在插入数据库之后,您需要插入内存模型listDoctors
或触发sqlDoctorDetails
查询以将更新的数据读入{{ 1}}。
Angular会观察您的模型以进行更改,但它不会观察模型背后的数据库。
答案 1 :(得分:0)
在AddToList功能中,按下最新的医生详细信息,这也将更新列表
因此,每当您单击添加按钮并调用控制器功能时:
$scope.addDoctorToDB(doctorDetail){
//add it to the doctor's list
$scope.listDoctors.push(doctorDetail);
//Now do the db operation say calling your add function
this.AddToList();
}