AngularJS - 未知提供商

时间:2013-07-15 12:16:59

标签: javascript angularjs angularjs-resource angularjs-module

我正在尝试使用AngularJS创建一个小笔记应用程序,但我一开始就偶然发现了。这是我的.js文件:

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

app.factory("note", ['$resource', function($resource){
    return $resource("/api/notes/:id", {id:'@id'}, {
        query: {method: "GET", isArray: true}});
        }
    ]
);

app.controller("NotesController", function($scope, $note){
    console.log("I am being constructed");
    $scope.notes = $note.query();
});

这是html文件:

<html>
<head>
    <title>Jotted</title>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>
    <script src="js/controllers/controllers.js"></script>
    <script src="http://code.angularjs.org/1.0.6/angular-resource.js"></script>
    <link href='style/main.css' rel='stylesheet'>
</head>
<body ng-app="app" >
    <div ng-controller="NotesController">
        <div ng-repeat="note in notes">
            {{note.title}}
        </div>          
    </div>
</body>
</html>

我尝试过添加

NotesController.$inject("$scope", "Note");

但它只给ma一个错误,说NotesController没有名为“$ inject”的方法。

没有显示任何内容,浏览器返回错误:“错误:未知提供者:$ noteProvider&lt; - $ note”。当然我错过了一些明显的东西,但我不能把手指放在上面。问题出在哪里?

1 个答案:

答案 0 :(得分:4)

在$ note之前删除$ Sign。美元符号只是框架的一个惯例,用于识别内部供应商,.......

例如尝试:

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

app.factory("note", ['$resource', function($resource){
    return $resource("/api/notes/:id", {id:'@id'}, {
        query: {method: "GET", isArray: true}});
        }
    ]
);

app.controller("NotesController", function($scope, note){
    console.log("I am being constructed");
    $scope.notes = note.query();
});