gpt4 book ai didi

javascript - AngularJS + Restangular - 调用 .one() 和 .get() 结果是数组?

转载 作者:行者123 更新时间:2023-11-28 01:58:44 26 4
gpt4 key购买 nike

为此,我使用 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渲染为“嘿,詹姆斯”。到目前为止一切都很好。

但是之后我就无法编辑输入框了。

一些问题指出,当您不使用 ng-repeat 时会发生这种情况,但我再次期待来自后端的一个 JSON 对象。

这里有什么可以帮忙的吗?

更新:从 Restangular 更改为 $resource 解决了我的问题。虽然很想知道为什么会发生这种情况。对于具有 Restangular 经验的人的回答将不胜感激。

最佳答案

Restangular 从所有无法编辑的查询中返回一个 promise 。

相反,您应该根据此问题的答案将实际结果分配给您的范围 - Angular.JS: why can't the inputs be edited?

关于javascript - AngularJS + Restangular - 调用 .one() 和 .get() 结果是数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18731306/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com