2015-10-26 39 views
2

对象不支持属性或方法 '查询' 在角度

(function() { 
    angular.module("common.script").factory("expenseResource", ["$resource", expenseResource]); 

    function expenseResource($resource) { 

    var expenceCategory = function ($resource) { 
     return $resource("api/expenceCategory/:expenceCategoryId"); 
    } 

    return { 
     expenceCategory: expenceCategory 
    }; 
    } 

})(); 

控制器

(function() { 
    var app = angular.module("ExpenceManagerApp", ["ui.router", "common.script", "expenseResourceMock"]); 

    app.config(["$stateProvider","$urlRouterProvider", function ($stateProvider,$urlRouterProvider) { 

    $urlRouterProvider.otherwise("/"); 

    $stateProvider 
     .state("HomePage", { 
      url:"/", 
      templateUrl: "App/Main/homePage.html", 

     }) 
     .state("Settings", { 
      url: "/Settings", 
      templateUrl: "App/Expense/settingsPage.html", 

     }) 
    .state("expenceCategoryEdit", { 
     url: "/expenceCategoryEdit", 
     templateUrl: "App/Expense/editExpenseCategory.html", 
     controller: "editExpenseCategoryCtrl as vm", 
     resolve: { 
      expenseResource: "expenseResource", 
      expenseCategoryList: function (expenseResource) { 
       return expenseResource.expenceCategory.query().$promise; 
      } 
     } 
    }) 
    }]); 

}()); 
+0

能否请你解释一下,你会遇到这样的错误。错误在什么时候被触发? –

+0

'expenseResource.expenceCategory',你确定它有一个'c',其中所有其他地方都拼写了's'吗? –

回答

1

expenceCategory是一个函数,所以将其用作功能:

expenseResource.expenceCategory().query().$promise 

OR define exnceCategory a s:

return { 
    expenceCategory: expenceCategory() 
}; 

注意:您的服务每次启动时都会创建新的$资源。它应该只是:

function expenseResource($resource) { 
     return $resource("api/expenceCategory/:expenceCategoryId"); 
} 

并在控制器:

expenseResource.query().$promise 
相关问题