JSON作为Angular工厂中的变量

JSON as variable in Angular factory

本文关键字:变量 工厂 作为 Angular JSON      更新时间:2024-07-02

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

谢谢Ahead!Plunker代码

$http.get返回一个promise。从您的工厂返回承诺,然后使用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;
    });
  }
]);