当我在angularjs中从page1.html导航到page2.html,然后返回至page1.html时,我遇到了问题,我的页面模型数据不见了,我该如何保存,请在这方面为我提供帮助。

我已经看到了一些类似的问题,但无法理解如何使用服务在AngularJS中完成此任务。

最佳答案

如果我理解正确,则希望在应用程序的两个不同视图之间共享某些状态。有多种方法可以实现此目的,如上所述,您可以使用服务。

var app = angular.module('myApp', []);
app.service('myService', function(){
  var data;
  this.setData = function(d){
    data = d;
  }
  this.getData = function(){
    return data;
  }
});

app.controller('myCtrl1', function($scope, myService){
 $scope.data = myService.getData();
 //do something
});

app.controller('myCtrl2', function($scope, myService){
 $scope.data = myService.getData();
 //do something
});


服务是单例的,实例化一次,然后按角度进行缓存,每当您需要特定数据时,就可以注入服务并调用提供的方法。

关于javascript - 如何在angularjs中维护 View 模型数据的同时在不同 View 之间导航,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40376305/

10-15 14:52