视图未在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

我在尝试显示数据时遇到问题

  • 我发送我的表单并更新我的数据库(它工作得很好,后端还可以)
  • 我使用页面上的按钮返回主页
  • 主页的视图不会更新,总是相同的值。 (似乎只有加载的模板,没有查询)
我需要单击浏览器的“刷新”按钮以查看新值。

“硬”刷新后,视图将更新

为什么我需要完全刷新页面

这是我的密码

JS:

<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
将仅在需要时获取数据。你需要更新
数据的缓存值
。是的,你没事!谢谢问题解决了。