使用Angularfire和Angular-xeditable更新数据字符串
问题描述:
我正在开发我的第一个小型AngularFire/AngularJs应用程序。我想使用Angular-xeditable插件。 到目前为止,我可以创建并保存新的数据,但我无法找到如何使用Angular-xeditable更新现有数据。使用Angularfire和Angular-xeditable更新数据字符串
我得到了没有错误信息,什么是错的:
HTML
<table class="table table-hover" ng-controller="premiercontrolleur">
<tr><th>Prénom</th><th>Nom</th></tr>
<tr ng-repeat="client in clients">
<td editable-text="client.prenom" onbeforesave="saveClient($data)">{{client.prenom}}</td>
<td editable-text="client.nom" onbeforesave="saveClient($data)">{{client.nom}}</td>
</tr>
</table>
的Javascript
var app = angular.module("crmfirebase", ["firebase", "xeditable"]);
app.run(function(editableOptions) {
editableOptions.theme = 'bs3'; // bootstrap3 theme. Can be also 'bs2', 'default'
});
app.controller("premiercontrolleur", function($scope, $firebase) {
var ref = new Firebase("https://mydatabaseurl.firebaseio.com/clients");
var sync = $firebase(ref);
$scope.clients = sync.$asArray();
$scope.addClient = function(client) {
$scope.clients.$add({prenom: client.prenom, nom: client.nom});
}
$scope.saveClient = function(data) {
$scope.clients.$save({prenom: data});
}
});
我试着去了解如何使它与保存工作方法:https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-firebasearray-save-recordorindex
答
我找到了答案!
的Javascript
$scope.saveClient = function (client) {
$scope.clients.$save(client);
};
HTML
<table class="table table-hover" ng-controller="premiercontrolleur">
<tr><th>Prénom</th><th>Nom</th></tr>
<tr ng-repeat="client in clients">
<td editable-text="client.prenom" onbeforesave="saveClient(client)">{{client.prenom}}</td>
<td editable-text="client.nom" onbeforesave="saveClient(client)">{{client.nom}}</td>
</tr>
</table>
我你不使用xeditable,只是通过在客户端的说法是这样的:
ng-submit="updateClient(client)"
你在传递到$ scope.clients。$ save()这里?它不需要随机数据,它可以是记录或记录的索引(它必须已经在数组中)。我不能告诉你通过调用$ save({prenom:data})会发生什么。 – Kato 2014-10-13 18:25:48
是的,我想执行“save”。我在这里阅读了关于索引(https://www.firebase.com/docs/web/libraries/angular/guide.html),但我不知道如何使用它来保存特定的记录。 – 2014-10-13 21:10:18