为此,我正在使用 Angular 1.0.8 和 Restangular。由于我刚开始使用 js 框架,因此非常感谢新手友好的解释。
我有一个<section>
像这样的非常简单的 HTML(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 经验的人的回答将不胜感激。