【发布时间】:2017-03-22 18:18:06
【问题描述】:
我想更新显示 Firebase 数据库的表中的数据。
表格中的每一行代表一个特定用户的数据。我的目标是能够更新用户数据的一个字段中的数据。在此示例中,我尝试根据复选框 ng-true-value="'admin'" ng-false-value="'user'" 更改用户角色。
如何获取我正在编辑/更新信息的行的用户 ID 并将其传递给更新功能?当前代码正在使用当前用户 ID。
我使用它更新用户信息的功能是:
$scope.updateRole= function () {
var updated_user_info= {
role: $scope.user.role
};
var myuser = firebase.auth().currentUser;//change this part?!
DatabaseRef.ref('users/' + myuser.uid).update(updated_user_info)
.then(function () {
console.log("update success");
}).catch(function (error) {
$scope.errMsg = true;
$scope.errorMessage = error.message;
});
}
html 视图:
<tr ng-repeat="obj in $data">
<td data-title="'First Name'" filter="{ 'First Name': 'text' }" sortable="'firstName'">{{ obj.firstName }}</td>
<td data-title="'Last Name'" filter="{ 'Last Name': 'text' }" sortable="'lastName'">{{ obj.lastName }}</td>
<td data-title="'Role'" filter="{ 'Role': 'text' }" sortable="'role'">
<input type="checkbox" ng-model="user.role" ng-true-value="'admin'" ng-false-value="'user'" ng-click="updateRole()">
{{obj.role}}
</td>
</tr>
目前它只更新当前用户,并为所有用户维护一个检查值,但不更新,只更新当前用户本身。
【问题讨论】:
标签: angularjs firebase firebase-realtime-database firebase-authentication angular-ngmodel