簡體   English   中英

AngularJS + Restangular-調用.one()和.get()結果數組嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM