angularjs - Angular 无法将工厂注入(inject) Controller

标签 angularjs

我正在尝试在我的 Controller 中注入(inject)工厂。

var app = angular.module('BlogApp', ['ngMaterial']);

app.factory("Post", function ($resource) {
    return $resource("/rest/admin/search/posts");
});

app.controller('postController', ['$scope', function ($scope, Post) {
    $scope.getPost = Post.get({id: 1}, function (data) {
        //do something
    });
}
]);

总是得到与 Post 未定义和 “无法读取未定义的属性 'get'”相同的错误我做错了什么?提前致谢!

最佳答案

你错过了缩小 angularjs 代码时需要的参数:

app.controller('postController', ['$scope', function ($scope, Post) {
    $scope.getPost = Post.get({id: 1}, function (data) {
        //do something
    });
}

变成:

app.controller('postController', ['$scope', 'Post', function ($scope, Post) {
    $scope.getPost = Post.get({id: 1}, function (data) {
        //do something
    });
}

关于angularjs - Angular 无法将工厂注入(inject) Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31029968/

相关文章:

javascript - 如何在双花括号 {{ }} 中将 ng-include 与 html 文件一起使用

javascript - 使用 angular.module 定义 angularjs 指令

javascript - Angularjs $ 注入(inject)器 :unpr in the run method after minification

javascript - Angular - 本地存储不工作

javascript - PUT 请求仅在 Chrome 或 Opera 中生成 SPDY 协议(protocol)错误?

javascript - 如何在 Angular.js 中的 JSON 对象中返回和排列

javascript - 在模板中使用未声明的指令时是否有 Angular 警告我

javascript - 在 ng 上访问范围功能 - 单击导航栏

angularjs - Djangle 中的 Django 通用 UpdateView

javascript - AngularJS 将复选框绑定(bind)到模型属性