1

我对 AngularJS 很陌生,我正在寻找某种方式(可能会提醒 EMBER FIXTURE)在与服务器端集成之前存储非持久性数据仅用于测试目的。

我尝试以两种方式存储数据,一种是常规副本,另一种是使用POST.

我的代码 - JSBin

Index.html

<body ng-controller="PhoneListCtrl">
   <p>Phone List</p>
   <ul>
     <li ng-repeat="phone in phones">
        {{phone.name}}
        <p>{{phone.snippet}}</p>
     </li>
   </ul>

   <p>Add New</p>
    <form>
       Name: <input type="text" ng-model="phone.name" /><br />
       Snippet:<input type="text" ng-model="phone.snippet" /><br />
       <button ng-click="add(phone)">SAVE regular</button> <br />
       <button ng-click="addRest(phone)">SAVE REST</button> <br />
     </form>
</body>

JavaScript

function PhoneListCtrl($scope,$http) {
   $scope.phones = [
                   {"name": "Nexus S",
                   "snippet": "Fast just got faster with Nexus S."},
                   {"name": "Motorola XOOM™ with Wi-Fi",
                   "snippet": "The Next, Next Generation tablet."},
                   {"name": "MOTOROLA XOOM™",
                    "snippet": "The Next, Next Generation tablet."}
                   ];


   $scope.add = function(phone) {
          $scope.phones = angular.save(phone); 

   };

   $scope.addRest = function(phone){
           $http.post('phones/phones.json', phone, {});
   };

}

我使用两个不同按钮调用的两个函数来存储数据。我想不出一种方法来放入phones/phones.jsonJSbin,但这是一个url包含电话列表的文件。

在 Ember 中,为测试目的定义模型非常简单,但在 Angular 中,我找不到在与服务器端集成之前测试本地存储的方法。

当我可以简单地在控制器中使用它时,了解为什么我看到很多人使用resource它来处理 http 方法也将非常有帮助。$http.<METHOD>

4

0 回答 0