Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON作为角度工厂中的变量_Javascript_Java_Angularjs_Json - Fatal编程技术网

Javascript JSON作为角度工厂中的变量

Javascript JSON作为角度工厂中的变量,javascript,java,angularjs,json,Javascript,Java,Angularjs,Json,我是Angular的新手,我正在尝试将数据(script.js文件)设置为变量,以从JSON文件(books.JSON)获取数据。我回顾了几篇文章,但我不明白如何将其应用到工厂结构中 谢谢你! $http.get返回一个承诺。从工厂返回承诺,然后在控制器中使用then解决 在你们工厂 app.factory("bookService", ["$rootScope","$http", function($rootScope,$http,$q) { var getBooks = funct

我是Angular的新手,我正在尝试将数据(script.js文件)设置为变量,以从JSON文件(books.JSON)获取数据。我回顾了几篇文章,但我不明白如何将其应用到工厂结构中

谢谢你!
$http.get
返回一个承诺。从工厂返回承诺,然后在控制器中使用
then
解决

在你们工厂

app.factory("bookService", ["$rootScope","$http", 
function($rootScope,$http,$q) {
    var getBooks = function(){
      return $http.get('books.json'); // returns a promise
    }

  return {
    getBooks: getBooks
  };

}]); 
在你身上

app.controller("listController", ["$scope", "$location", "$routeParams", "bookService",
  function($scope, $location, $routeParams, bookService) {

    bookService.getBooks().then(function(data){ // resolve promise using then()
      // successcallback
      $scope.books = data;
    });
  }
]);

你可以做几件事:1。在路由中,添加一个解析来调用服务中的getBooks函数,并在$http回调中,将响应分配给service.data对象。2.您可以在控制器中调用getBooks函数,并在回调中将这些书分配给控制器对象。无论如何,service.getBooks函数都应该使用$http.get('books.json');到目前为止,我了解了如何在模块上应用它,但在controller@user3387719你的plunker链接不起作用了现在呢?sjokkogutten-感谢您的时间,不幸的是我仍然无法获得Json文件,我按照您的指示做了,我得到一个错误,SVC变量无法访问,原因是[Return{getBooks:getBooks};]。这是我到目前为止的进展。我没有权限保存Plunk,但您需要1)在工厂
return{getBooks:getBooks}中添加此return语句2)在控制器中包含以下内容:
$scope.books=data3)在您的htmlHi上调用
书籍
-很抱歉延迟,这是我的代码,具有编辑权限不,仍然没有编辑权限。但你就快到了。尝试从工厂中删除
return svc
。是否尝试在Plunker中查看该文件?我已经尝试从另一台计算机和编辑是可用的。。。我试图删除“重新返回svc”-但没有任何更改。。。我试图最小化代码并注释所有额外的功能(保存、编辑等),但仍然没有任何结果。XHR日志显示传递的json文件没有错误。。。所以这一定是关于数据提取的问题