【问题标题】:Angular ngResource "CartResource.get is not a function!"Angular ngResource “CartResource.get 不是函数!”
【发布时间】:2015-11-25 16:08:10
【问题描述】:

在我的应用中,我定义了一个购物车资源

.factory('CartResource', function ($resource) {
        return $resource('/api/Cart/:id');
    });

在模块上。在我的登录控制器中,

(function () {
    "use strict";

    angular.module('ShoppingCart')
        .controller('loginController', ['CartResource','cart', loginController]);

    function loginController(CartResource, cart) {
        var vm = this;
        vm.model = cart.model;
        vm.login = login;

        function login(username, password) {
            CartResource.get({ username: username, password: password }, function (data) {
                console.log(data);
            })
        }
    };
}());

我正在注入 CartResource 并尝试通过传递用户名和密码来获取用户对象。但是,每当我调用login() 时,它都会说CartResource.get 不是一个函数。我究竟做错了什么?我在另一个应用程序中做几乎完全相同的事情,但它似乎在这里不起作用。我在index.html 中包含脚本文件的顺序有问题吗?

<script src="app/app.module.js"></script>
    <script src="app/app.config.js"></script>
    <script src="app/controllers/services/Cart.resource.js"></script>
    <script src="app/controllers/loginController.js"></script> 

【问题讨论】:

  • 似乎只是一个错字。显式注释列表 ('CartResource','cart') 和构造函数的参数列表 (loginController(cart, CartResource) ) 的顺序必须相同,在您的情况下它们是相反的
  • 嗯,我修复了订单,但实际上并没有修复它。我仍然收到CartResource.get is not a function。我更新了 OP 以获得固定顺序
  • 记录CartResource - 它显示了什么?
  • Here is a Fork of your code,但没有car 注入,因为我们不知道是什么。而且效果很好
  • 嗯,你是对的。去掉对购物车的引用似乎确实使它起作用。我还尝试将购物车放在最后,这似乎也解决了问题。奇怪。

标签: angularjs ngresource


【解决方案1】:

以某种方式更改依赖项的顺序似乎可以解决它。可悲的是,我没有更具体的补充。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 2015-09-23
    • 2017-05-05
    • 2017-03-06
    • 2015-06-08
    • 2013-07-26
    • 2020-01-10
    相关资源
    最近更新 更多