我正在尝试使用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”。当然我错过了一些明显的东西,但我不能把手指放在上面。问题出在哪里?
答案 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();
});