如何使用angularjs更新数据?

时间:2017-04-04 10:56:46

标签: javascript angularjs

当我刷新页面时,我可以看到更新的数据。当我使用$ state.reload它工作正常。那么如何在不使用$ tate.reload的情况下解决这个问题当我点击保存时如何更新数据按钮。 这是我的javascript代码:

 vm.myFuncUpdate= function () {
    if (!vm.id) { vm.id= vm.infoFunc.date; }
    if (!vm.pid) { vm.pid= vm.infoFunc.person}

    mySrvc.myPostData(id,pid,function (response, status) {
       console.log(response);
        vmCancel();

    });

}

Html代码:

   <input type="button" value="Save" ng-
   click="myFuncUpdate()" />

服务:

 this.myPostData= function (id, pid, funCallBack) {
    $http({
        method: "POST",
        url: "http://myapp/api/profile/details",
        headers: {
            'Content-Type': 'application/json; charset=utf-8',
            'dataType': 'json'
        },
        data: { id: id, pid: pid }
    }).success(function (response, status) {
        funCallBack(response, status);

    }).error(function (reason, status) {
        if (status == 400)
            alert(JSON.stringify(reason));
        else if (status == 404)
            alert("Something wrong!");
        else
            alert("Something Wrong");

    });
}

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

你可以使用$ scope.formName。$ setPristine();

我建议您查看AngularJS中的表单验证部分,因为它会为您提供一个良好的起点并了解其工作原理。

https://docs.angularjs.org/guide/forms

答案 1 :(得分:0)

我猜你有一个Api调用,它会获取并显示更新的数据吗? 所以当你使用这个api&#34; http://myapp/api/profile/details

时,你只需要再次调用它
   var init = function(){
        APIServices.profileData.success(function(data) {
        self.newProfileData = data;
        //console.log(self.newProfileData);
    })    
    } init();
$rootScope.$on('update-Data', function(){
        init();
    });

this.myPostData= function (id, pid, funCallBack) {
$http({
    method: "POST",
    url: "http://myapp/api/profile/details",
    headers: {
        'Content-Type': 'application/json; charset=utf-8',
        'dataType': 'json'
    },
    data: { id: id, pid: pid }
}).success(function (response, status) {
    funCallBack(response, status);
     **$rootScope.$broadcast('update-Data');**

}).error(function (reason, status) {
    if (status == 400)
        alert(JSON.stringify(reason));
    else if (status == 404)
        alert("Something wrong!");
    else
        alert("Something Wrong");

});

}

这是更新模板的方法之一,ps:我假设你有一个fetch api,如果没有那么我认为你可以使用$ watch来监视模型