使用factory和ui.router解决的角度未知提供程序错误

时间:2015-10-12 12:23:21

标签: javascript angularjs angular-ui-router

当我尝试使用某个州的解决方案时,我收到了未知的提供程序错误。我想要返回的对象似乎正确返回,所以我无法弄清楚问题是什么。

这是我的第一个有角度的项目,所以如果我看起来很奇怪,那可能就是这样。

错误:https://docs.angularjs.org/error/ $ injector / unpr?p0 = boardProvider%20%3C-%20board%20%3C-%20AppCtrl

var ponk = angular.module("ponk", ["ui.router", "ngResource"]);

 ponk.config(['$stateProvider', '$urlRouterProvider',
 "$locationProvider", function ($stateProvider, $urlRouterProvider,
 $locationProvider) {   
    $locationProvider.html5Mode(true);  
    $urlRouterProvider.otherwise('/');

    $stateProvider.state('board', {
      url: '/b/:slug',
      templateUrl: 'views/board.html',
      controller: "AppCtrl",
      controllerAs: "pk",
      resolve: {
       board: function($stateParams, boardFactory) {
         var board = {};
         if($stateParams.slug) {
           board = boardFactory.get({slug:$stateParams.slug}).$promise;
         }
         return board;
       }
      }
   });  
 }]).run(function($state) {   $state.go('board'); });;

 ponk.factory("boardFactory", ["$http", "$resource", 
  function($http, $resource) {
   return $resource('/board/:slug', {slug:'slug'}, {update: { method: "PUT"  }}); 
 }]);

 ponk.controller("AppCtrl", ["$scope", "$http", "boardFactory", "board",
  function($scope, $http, boardFactory, board ) {
    console.log(board);  // correct object, but error 
  }]);

编辑: 发现上面的代码有效。问题是当我将它添加到控制器时:

var pk = this;
var pk.board = board;

0 个答案:

没有答案