当我刷新页面时,会出现正确的值。我希望“gists”列表在提交表单时自动更新。
全局@todone是这样设置的,因为当我将其设置为'todone'时,我收到一个未定义的错误。它可能是无关的。
app.factory "To_done", ["$resource", ($resource) ->
$resource("/to_dones", {}, {update: {method: "PUT"}})
]
@MainCtrl = ["$scope", "To_done", ($scope, To_done) ->
$scope.to_dones = To_done.query()
$scope.addTodone = ->
@todone = To_done.save($scope.newTodone)
$scope.to_dones.push(@todone)
$scope.newTodone = {}
]
<div ng-controller="MainCtrl">
<form ng-submit="addTodone()">
<input type="text" ng-model="newTodone.gist">
<input type="submit" value="Add">
</form>
<ul>
<li ng-repeat="todone in to_dones">
{{todone.gist}}
</li>
</ul>
</div>
答案 0 :(得分:1)
To_done.save($ scope.newTodone)是异步的。您需要注册一个回调函数来获取POST返回的值。
var todone = To_done.save($scope.newTodone, function() {
//success callback - optional
$scope.to_dones.push(todone);
}, function() {
//error callback - optional
});
$scope.newTodone = {};
如果您需要有关从服务收到的答案的更多信息,您可以为回调方法添加参数。更多详细信息:http://docs.angularjs.org/api/ngResource。$ resource