为什么我的列表只在刷新时更新
问题描述:
我不知道为什么我的列表没有更新,点击了add
。它只在刷新时更新。这里是我的代码为什么我的列表只在刷新时更新
服务
function getCustomer() {
return $http.get(API_URL+'api/customer')
.then(getCustomerSuccess)
.catch(function(err) {
});
function getCustomerSuccess(response) {
return response.data;
}
}
的js
function getCustomer() {
dataServices.getCustomer()
.then(function(response){
vm.customer = response;
})
}
vm.add = function(customer) {
dataServices.addCustomer(customer);
getCustomer();
logger.success('Add Customer Success');
}
答
为什么我的列表只更新时刷新
的问题是:你解决无极里面服务并返回对象,而不是Promise。刷新后,触发摘要循环,从服务器获取新加载的数据。
从您的代码中,a.e. dataServices.getCustomer().then(/* .. */)
你期望无极
使用$q:
,可以帮助您运行功能异步运行,并利用他们的 返回值(或例外),他们都完成处理后的服务。
function getCustomerSuccess(response) {
var deferred = $q.defer();
deferred.resolve(response.data);
return deferred.promise;
}
谢谢建议我会试试看。但是,你能解释一下为什么在这种情况下应该使用$ q –
@NguyễnBảoDũng查看这个例子:http://jsfiddle.net/oymubx4z/ –
这不是工作。我正在尝试使用不同的文件进行测试,它的工作原理。但在我的文件中,这是行不通的。我使用CORS,所以CORS与此相关或不相关? –