1

我正在尝试使用 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");

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

没有显示任何内容,并且浏览器返回错误:“错误:未知提供者:$noteProvider <- $note”。当然,我遗漏了一些明显的东西,但我不能指望它。问题出在哪里?

4

1 回答 1

4

删除 $note 之前的 $ 符号。美元符号只是框架的一种约定,用于识别内部提供者,......

例如尝试:

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();
});
于 2013-07-15T12:23:24.033 回答