$ ng-resource不起作用?

时间:2015-05-30 20:17:19

标签: angularjs ngresource

我是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>

有人有想法吗?

2 个答案:

答案 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>

来自ngResource page

  

您可以从以下位置下载此文件:

     
      
  • Google CDN

         

    e.g。 //ajax.googleapis.com/ajax/libs/angularjs/X.Y.Z/angular-resource.js

  •   
  • Bower

         

    e.g。 bower install angular-resource@X.Y.Z

  •   
  • code.angularjs.org

         

    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/文件夹中。但假设你读它发送响应,它应该在后端。