2017-05-08 62 views
2

我不知道为什么我的列表没有更新,点击了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'); 
       } 

回答

1

为什么我的列表只更新时刷新

的问题是:你解决无极里面服务并返回对象,而不是Promise。刷新后,触发摘要循环,从服务器获取新加载的数据。

从您的代码中,a.e. dataServices.getCustomer().then(/* .. */)你期望无极

使用$q

,可以帮助您运行功能异步运行,并利用他们的 返回值(或例外),他们都完成处理后的服务。

function getCustomerSuccess(response) { 
    var deferred = $q.defer();    
    deferred.resolve(response.data);    
    return deferred.promise;  
} 
+0

谢谢建议我会试试看。但是,你能解释一下为什么在这种情况下应该使用$ q –

+0

@NguyễnBảoDũng查看这个例子:http://jsfiddle.net/oymubx4z/ –

+0

这不是工作。我正在尝试使用不同的文件进行测试,它的工作原理。但在我的文件中,这是行不通的。我使用CORS,所以CORS与此相关或不相关? –

相关问题