Angularjs 保存数据和Firebase的列表
我已经将一个输入添加到项目列表中,但我希望将多个输入添加到同一个$id。如何操作。 我应付不了。我在寻找另一个解决方案,但一切都在打击我 我的app.jsAngularjs 保存数据和Firebase的列表,angularjs,firebase,Angularjs,Firebase,我已经将一个输入添加到项目列表中,但我希望将多个输入添加到同一个$id。如何操作。 我应付不了。我在寻找另一个解决方案,但一切都在打击我 我的app.js var sampleApp = angular.module('sampleApp', ['ngRoute','firebase']); sampleApp.config(['$routeProvider', function($routeProvider) { $routeProvider. when('/List
var sampleApp = angular.module('sampleApp', ['ngRoute','firebase']);
sampleApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/List', {
templateUrl: 'list.html',
controller: 'ListController'
}).
when('/Zarzad', {
templateUrl: 'zarzad.html',
controller: 'ListController'
}).
otherwise({
redirectTo: '/List'
});
}]);
sampleApp.controller('ListController', function($scope,$firebase) {
var ref = new Firebase('https://<my url>.firebaseio.com/');
var sync = $firebase(ref);
$scope.projects = sync.$asArray();
$scope.addMessage = function(data) {
$scope.projects.$add({data: data});
}
});
我的hmtl
<form ng-submit="addMessage(newMessageText)">
<input ng-model="newMessageText" />
<button type="submit">add message</button>
</form>
当我添加另一个输入时,我不知道如何为多个输入编写代码。我试过这样的方法:
sampleApp.controller('ListController', function($scope,$firebase) {
var ref = new Firebase('https://<my url>.firebaseio.com/');
var sync = $firebase(ref);
$scope.projects = sync.$asArray();
$scope.addMessage = function(text,data) {
$scope.projects.$add({text: text, data: data});
}
});
<form ng-submit="addMessage(newMessageText)">
<input ng-model="newMessageText" name="text" />
<input ng-model="newMessageData" name="data" />
<button type="submit">add message</button>
</form>
html是这样的:
sampleApp.controller('ListController', function($scope,$firebase) {
var ref = new Firebase('https://<my url>.firebaseio.com/');
var sync = $firebase(ref);
$scope.projects = sync.$asArray();
$scope.addMessage = function(text,data) {
$scope.projects.$add({text: text, data: data});
}
});
<form ng-submit="addMessage(newMessageText)">
<input ng-model="newMessageText" name="text" />
<input ng-model="newMessageData" name="data" />
<button type="submit">add message</button>
</form>
这是一个错误:
Error: Firebase.set failed: First argument contains undefined in property 'data'
at Error (<anonymous>)
at Ba (https://cdn.firebase.com/js/client/1.0.18/firebase.js:11:54)
at Ba (https://cdn.firebase.com/js/client/1.0.18/firebase.js:12:221)
at Aa (https://cdn.firebase.com/js/client/1.0.18/firebase.js:10:410)
at D.E.set (https://cdn.firebase.com/js/client/1.0.18/firebase.js:147:98)
at Object.c.$push (https://cdn.firebase.com/libs/angularfire/0.8.0/angularfire.min.js:7:6889)
at Object.c.$add (https://cdn.firebase.com/libs/angularfire/0.8.0/angularfire.min.js:7:516)
at g.$scope.addMessage (http://localhost/test/js/app.js:25:21)
at http://localhost/test/js/angular.min.js:179:263
at http://localhost/test/js/angular.min.js:204:178
我找到了解决办法:
app.js
html是:
<form id="todo-form" ng-submit="addTodo()">
<input type="text" id="new-data" placeholder="Data..." ng-model="newData" autofocus />
<input type="text" id="new-godz" placeholder="Godzina..." ng-model="newGodz" autofocus /><br />
<textarea id="new-temat" placeholder="Temat spotkania..." ng-model="newTemat" autofocus rows="4" width="430px;"></textarea><br />
<button class="btn btn-danger btn-lg" type="submit">Dodaj pozycję</button>
</form>
你得到了什么错误?你在这里的原始示例几乎有效。未定义的错误是因为addMessage方法需要两个参数text和data,但addMessage调用只传递一个参数addMessagenewMessageText。如图所示,数据未定义。不能在Firebase中设置“未定义”。