视图未在AngularJS中更新
我在尝试显示数据时遇到问题视图未在AngularJS中更新,angularjs,view,angularjs-scope,angularjs-ng-repeat,Angularjs,View,Angularjs Scope,Angularjs Ng Repeat,我在尝试显示数据时遇到问题 我发送我的表单并更新我的数据库(它工作得很好,后端还可以) 我使用页面上的按钮返回主页 主页的视图不会更新,总是相同的值。 (似乎只有加载的模板,没有查询) 我需要单击浏览器的“刷新”按钮以查看新值。 “硬”刷新后,视图将更新 为什么我需要完全刷新页面 这是我的密码 JS: <div ng-controller="listCtrl"> <div ng-repeat="project in projects"> <spa
- 我发送我的表单并更新我的数据库(它工作得很好,后端还可以)
- 我使用页面上的按钮返回主页
- 主页的视图不会更新,总是相同的值。 (似乎只有加载的模板,没有查询)
<div ng-controller="listCtrl">
<div ng-repeat="project in projects">
<span>{{ project.nom }}</span>
</div>
<div ng-repeat="project_draft in projects_in_draft">
<span>{{ project_draft.nom }}</span>
</div>
</div>
我的服务GenericService
(我创建此服务是因为我在多个控制器中使用此服务)
服务的呼唤
myApp.controller('listCtrl', ['$scope', '$http', '$rootScope', '$location', 'GenericService',
function ($scope, $http, $rootScope, $location, GenericService) {
GenericService.getData("get_projects").then(function (data) {
$scope.projects = data;
});
GenericService.getData("get_projects_draft").then(function (data) {
$scope.projects_in_draft = data;
});
}]);
HTML:
<div ng-controller="listCtrl">
<div ng-repeat="project in projects">
<span>{{ project.nom }}</span>
</div>
<div ng-repeat="project_draft in projects_in_draft">
<span>{{ project_draft.nom }}</span>
</div>
</div>
{{project.nom}
{{project_draft.nom}
您的服务GenericService
仅在“需要时”从服务器获取数据,这意味着如果本地数据
变量不为空。当然,不需要重新加载服务,在表单提交后,数据将不同步!所以你有两个选择:
如果服务器正在创建附加数据,即在表单提交后拥有AngularJS没有的数据,则需要执行另一个请求以获取新数据。只需空本地数据
变量
否则,如果服务器只是将数据保存在数据库中,并且不执行任何其他会影响页面显示内容的操作,则不必执行其他请求,因为您已经知道向服务器发送的内容!只需更新本地
数据
变量。发送表单时,在通用服务
中更新私有变量数据
,以保持数据同步?如果您已经访问过主页,则如果(数据[操作]!==未定义)
发送一个返回
并阻止您的代码请求新数据您的getDataIfNeeded
将仅在需要时获取数据。你需要更新数据的缓存值
。是的,你没事!谢谢问题解决了。