我是AngularJS的新手,我想更新我的data.json
,但我不知道我的文件users.json
应该在哪里,我有这个错误:
错误:$ injector:modulerr http://errors.angularjs.org/1.3.14/$injector/modulerr?p0
继承我的代码:
<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script>
var app = angular.module('myApp', ['ngResource']);
app.factory('User', ['$resource',
function($resource){
return $resource('/users/:userId', {userId:'@id'},
{
'update': {method: 'PUT'}
}
);
}
]);
app.controller('UsersCtrl', function ($scope, User) {
$scope.users = User.query();
$scope.validate=function(user) {
user.$update();
}
$scope.delete=function(user) {
user.$delete();
}
$scope.create = function (newUserName) {
var user = new User();
user.name = newUserName;
user.$save();
$scope.users.push(user);
}
});
</script>
<body ng-app="myApp" ng-controller="UsersCtrl">
<ul>
<li ng-repeat="user in users">
<input type="text" ng-model="user.name" />
<button ng-click="validate(user)">Valider</button>
<button ng-click="delete(user)">Supprimer</button>
</li>
</ul>
Nouveau utilisateur :
<input type="text" ng-model="newUserName" />
<button ng-click="create(newUserName)">Créer</button>
</body>
</html>
有人有想法吗?
答案 0 :(得分:1)
您忘记添加ngResource file。
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-resource.min.js"></script>
您可以从以下位置下载此文件:
e.g。
//ajax.googleapis.com/ajax/libs/angularjs/X.Y.Z/angular-resource.js
e.g。
bower install angular-resource@X.Y.Z
e.g。
"//code.angularjs.org/X.Y.Z/angular-resource.js"
其中 X.Y.Z 是您正在运行的AngularJS版本。
答案 1 :(得分:0)
工作小提琴:http://jsfiddle.net/softvar/rq9eupee/1/
在angular-resource
文件下添加angular.js
脚本,具体取决于head
标记中所需的版本。
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-resource.min.js"></script>
如果要从文件users.json
中读取一些数据,请将其放在服务器(后端)上,并根据您的要求填充它。如果您只想显示用户列表,从服务器获取它,服务器将读取该文件并返回其内容。如果出于某种目的,您需要读取文件并在前端显示内容,请将其放在js/
文件夹中。但假设你读它发送响应,它应该在后端。