2013-10-01 70 views
0

我想在加載控制器和模板之前解決JSON諾言。AngularJS解決未知keyProvider

var app = angular.module('app', []); 

app.config(function ($routeProvider) { 
    $routeProvider.when('/', { 
    templateUrl: 'index-ctrl-test.html', 
    controller: 'IndexCtrl', 
    resolve: { 
     event: function ($http) { 
      return $http.get('/api/eventInfo.json?event_name=Some Event Name'); 
     } 
    } 
    }); 
}); 

var IndexCtrl = app.controller('IndexCtrl', ['$scope', 'event', function ($scope,event) { 
    console.log(event.data); 
}]); 

決心承諾的關鍵是注入的​​控制器,但它不斷拋出一個錯誤:

錯誤:未知提供商:eventProvider < - 事件

的數據似乎可用,儘管有錯誤(例如,console.log實際上記錄了返回的JSON對象)。任何想法是什麼拋出錯誤?我沒有使用JavaScript縮小器或混淆器。

+0

向我們展示您的代碼爲eventProvider – user2422960

回答

0

您的HTML視圖是否包含ng-controller="IndexCtrl"屬性? 這會實例化控制器而不注入參數resolve,並會拋出您在該處看到的錯誤。

如果刪除它,並且僅使用普通的ng-view,則控制器將僅使用$routeProvider服務進行實例化,並解決適當的相關性。