2014-10-08 19 views
0

我在建立的角度應用程序中收到對象未定義錯誤。對象未由Angular.js資源工廠定義

觸發錯誤的對象是下面giveMeCoffee函數中的'CoffeeOrder'對象。整個源代碼位於Github

對於我在angular.js documentation中讀到的內容,這應該可行(請參閱底部的代碼段)。但是,錯誤消息不是很有幫助。

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

coffeeApp.controller('OrderController', function($scope) { 

$scope.types = [ 
        {name:'black', family:'coffee'}, 
        {name:'latte', family:'coffee'}, 
        {name:'cappuccino', family:'coffee'}, 
        {name:'tea', family:'other'} 
        ]; 

    $scope.sizes = ['S', 'M', 'L']; 

    $scope.giveMeCoffee = function() { 
     CoffeeOrder.save({id: 1}, $scope.drink); 
    } 
}); 

coffeeApp.factory('CoffeeOrder', function($resource) { 
    return $resource('/service/coffeeshop/:id/order/', {id: '@coffeeShopId'}); 
}); 
+0

也許這對您沒有幫助,但這並不意味着它對我們沒有幫助。發佈確切完整的錯誤/堆棧跟蹤。 – 2014-10-08 05:55:26

+0

感謝您的回答。錯誤消息恰好是「CoffeeOrder未定義」,並且堆棧跟蹤指向CoffeeOrder對象所在的行。您的答案在下面工作!猜猜我還有堆學習角度。 :) – Pablo 2014-10-08 06:54:12

回答

1

CoffeeOrder是一項服務。服務不是全球可用的對象。它必須注入到其他角度組件,並且您沒有注入它:

coffeeApp.controller('OrderController', function($scope, CoffeeOrder) {