【发布时间】: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