我对 AngularJS 很陌生,我正在寻找某种方式(可能会提醒 EMBER FIXTURE
)在与服务器端集成之前存储非持久性数据仅用于测试目的。
我尝试以两种方式存储数据,一种是常规副本,另一种是使用POST
.
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.json
JSbin,但这是一个url
包含电话列表的文件。
在 Ember 中,为测试目的定义模型非常简单,但在 Angular 中,我找不到在与服务器端集成之前测试本地存储的方法。
当我可以简单地在控制器中使用它时,了解为什么我看到很多人使用resource
它来处理 http 方法也将非常有帮助。$http.<METHOD>