当前位置: 首页 > 知识库问答 >
问题:

跨控制器服务的角度json数据

闽念
2023-03-14

嘿,伙计们,我是angular的新手,对JavaScript不是很熟练。这个设置很好地引入了json数据,但是,当我对对象中的某些属性进行更改时,它们会在我更改视图和重新加载控制器时重置。如有任何关于如何处理这一问题的帮助或指导,将不胜感激。

app.controller('MainCtrl', function ($scope, $location, Quiz) {
    $scope.quiz = {};

    Quiz.getQuestions(function(data) {
      $scope.quiz = data;
    });
});

app.service('Quiz', function($http) {
  this.getQuestions = function(callback) {
    $http.get('questions/questions.json').success(function(data) {
      if (callback) {callback(data);}
      return data;
    });
  };
});

共有1个答案

唐康安
2023-03-14

$HTTPget请求是否在随后调用GetQuestions()覆盖对象时重复?如果是的话,也许

app.service('Quiz', function($http) {
  var _data;
  this.getQuestions = function(callback) {
    if (_data) {
       callback(_data); 
    }
    $http.get('questions/questions.json').success(function(data) {
      _data = data;
      if (callback) {callback(data);}
      return data;
    });
  };
});
 类似资料:
  • 问题内容: 我试图让两个不同的控制器互相通信。 控制器1 该控制器旨在从文本字段中获取文本(使用ng-model =’email’),并将文本放入服务(emailService)中,以便可以在下一个ng- view(由下一个ng-view控制)中使用控制器) //出于测试目的,我只是将“ Hi”直接放入saveEmail函数中 控制器2 为了进行有目的的测试,我使用window.alert显示ge

  • 问题内容: 我正在尝试使用从html获取用户查询。我想使用从ng-click中获取的值进行https调用。我可以在 Alert-1中 看到数据,但是在 Alert-2中 我得到了。在互联网上,我读到使用 服务 传递价值是最佳做法。如果我错了,请纠正我。 我的控制器 我的服务: 路由: 有没有更简单的方法? 问题答案: 可以使用服务。看一下,对于初学者来说很清楚: https://egghead.i

  • 问题内容: 这是一个很长的路,但是以前有人见过这个错误吗?我正在尝试使用express,angular和mongoDB添加“ Transporters”。每当我访问由transporters控制器控制的页面时,都会收到此错误: 运输者控制器如下所示: 在我看来,我调用该列表并创建方法。他们产生上述错误 我从ng:areq的有角文档中得到了这个,尽管仍然不知道发生了什么 AngularJS经常断言,

  • 问题内容: 我已经看到angular.factory()和angular.service()都用于声明服务;但是,我在官方文档中找不到 任何地方。 两种方法有什么区别? 应该使用哪个(假设他们做不同的事情)? 问题答案: 直到我以这种方式对自己说: 服务 :您编写的 函数 将是 新的 -ed: Factory* :将 调用 您编写的 函数 (构造函数): * 您可以根据自己的意愿进行操作,但是有一

  • 问题内容: 我已经阅读了几篇有关angularjs实体正确用法的文章:服务,工厂,控制器和指令。 我特别关心的是控制器和服务的比较。但是,没有一个帖子告诉我什么是控制器可以执行服务不能执行的操作,反之亦然。 可以列出它吗?或者仅仅是在angular的用法上规范? 问题答案: 控制器 通常用于绑定视图。控制器管理视图的生命周期,应将其视为视图控制器。将为视图的每个实例创建一个新的控制器,这意味着,如