[英]AngularJS + Restangular - Calling to .one() and .get() results in array?
我為此使用Angular 1.0.8和Restangular。 由於我一般只是從js框架開始,因此非常感謝新手友好的解釋。
我有一個非常簡單的HTML <section>
像這樣(ng-app已在body
定義):
<section class="comment-list block scrollable wrapper" style="height:350px" ng-controller="MessageStreamController">
<div> {{ message.message }} </div>
<div class="input-group">
<input type="text" class="form-control" ng-change="change()" ng-model="message.message" placeholder="Input your comment here">
<span class="input-group-btn">
<button class="btn btn-primary" type="button" ng-click="clicked()">POST</button>
</span>
</div>
</section>
使用以下<script>
var JApp = angular.module('JApp', ['restangular']);
JApp.controller('MessageStreamController', function($scope, Restangular) {
var service = Restangular.all('message-stream');
$scope.clicked = function() {
$scope.message = service.one('index', 1).get();
}
})
在后端/message-stream/index/1
它只是返回
return json_encode(array(
'message' => 'Hey there James',
'user' => 'Terry'
));
這將導致<div> {{ message.message }} </div>
並且input
將顯示為“ Hey there James”。 到目前為止一切都很好。
但是之后我無法編輯輸入框。
一些問題指出,當您不使用ng-repeat時會發生這種情況,但是我又期望后端有一個JSON對象。
這里有任何幫助的指針嗎?
更新:從Restangular更改為$ resource解決了我的問題。 雖然很想知道為什么會這樣。 來自具有Restangular經驗的人的答案將不勝感激。
Restangular從所有無法返回的查詢中返回一個承諾。
相反,您應該根據此問題的答案將實際結果分配給您的范圍-Angular.JS:為什么不能編輯輸入?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.