【发布时间】:2015-12-09 00:27:04
【问题描述】:
我想要实现的是允许以前创建的表单可编辑和更新。
例如,我想将属性division: 的值从"Mens" 更改为"Womens",但这是我得到的结果。
代码更新前的 Firebase 数据库。
// from https://myapp.firebaseio.com/seasons/-K52aSeDHqvBVlg4KRSW
-K52aSeDHqvBVlg4KRSW
└ aaaCreatedOn: 1449611877062
└ aaaUpdatedOn: 1449611877062
└ division: "Mens"
└ ...
代码更新后的 Firebase 数据库。
// from https://myapp.firebaseio.com/seasons/-K52aSeDHqvBVlg4KRSW
-K52aSeDHqvBVlg4KRSW
└ aaaCreatedOn: 1449611877062
└ aaaUpdatedOn: 1449611877062
└ division:
└ division: "Womens"
└ ...
我希望它像下面这样。
-K52aSeDHqvBVlg4KRSW
└ aaaCreatedOn: 1449611877062
└ aaaUpdatedOn: 1449611877062
└ division: "Womens"
└ ...
要更新表单的 url 是 localhost/sport/app/#/update/season/-K52aSeDHqvBVlg4KRSW
来自我的控制器的代码。
(function() {
angular
.module('sportApp')
.controller('CreateSeasonController',
['$routeParams', '$firebaseArray', '$firebaseObject', 'FIREBASE_URL',
function($routeParams, $firebaseArray, $firebaseObject, FIREBASE_URL) {
var vm = this;
vm.whichSeason = $routeParams.sid;
var seasonUpdateRef = new Firebase(FIREBASE_URL + 'seasons/' + vm.whichSeason);
var seasonUpdateArray = $firebaseArray(seasonUpdateRef);
var seasonUpdateObject = $firebaseObject(seasonUpdateRef);
// Populates form with data from https://myapp.firebaseio.com/seasons/-K52aSeDHqvBVlg4KRSW
seasonUpdateObject.$loaded().then(function() {
vm.name = seasonUpdateObject.name;
vm.league = seasonUpdateObject.league;
vm.division = seasonUpdateObject.division;
vm.level = seasonUpdateObject.level;
vm.weekday = seasonUpdateObject.weekday;
vm.seasonal = seasonUpdateObject.seasonal;
vm.year = seasonUpdateObject.year;
vm.numberOfGame = seasonUpdateObject.numberOfGame;
vm.startDate = new Date(seasonUpdateObject.startDate);
vm.endDate = new Date(seasonUpdateObject.endDate);
});
vm.update = function() {
seasonUpdateArray[2].division = vm.division;
seasonUpdateArray.$save(2).then(function(ref) {
vm.message = 'Season ' + vm.name + ' was updated successfully';
});
};
}]);
})();
【问题讨论】:
标签: javascript angularjs json firebase angularfire