当我刷新页面时,我可以看到更新的数据。当我使用$ 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");
});
}
任何帮助都将不胜感激。
答案 0 :(得分:0)
你可以使用$ scope.formName。$ setPristine();
我建议您查看AngularJS中的表单验证部分,因为它会为您提供一个良好的起点并了解其工作原理。
答案 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来监视模型