在AngularJS Routes中使用Resolve来获取Json数据

时间:2017-01-31 14:16:47

标签: javascript angularjs angularjs-scope angular-ui-router

我试图在AngularJS Routes中获取Json数据,然后将其注入控制器。解析包含一个或多个必须在路由更改之前成功解析的promise。这意味着您可以在显示视图之前等待数据可用,并简化控制器内部模型的初始化,因为初始数据是提供给控制器而不是控制器需要外出并获取数据。

由于某种原因,它不起作用,我收到此错误消息: 错误:[$ injector:unpr] http://errors.angularjs.org/1.5.0/ $ injector / unpr?p0 = bookListAsJsonProvider%20%3C-%20bookListAsJson%20%3C-%20appController

有什么想法吗?

routeProvider:



booksApp.config(function($routeProvider) {
    $routeProvider
    .when("/", {
        templateUrl : "booksTemplate.html",
        controller : "appController",
        resolve: {
             bookListAsJson: function($http, $q){
                var deferedObj = $q.defer();
                var dataURL = 'http://localhost:8080/BooksWebApp/data.json';
                $http.get(dataURL)
                    .success(function (data) {
                        deferedObj.resolve(data);
                });
                return deferedObj.promise;
             }
         }
     })
});




控制器:



booksApp.controller('appController', function ($scope, bookListAsJson, prompt) {




0 个答案:

没有答案