我已经在项目列表中添加了一个输入,但我希望将多个输入添加到相同的$ id。怎么做。 我不能处理它。我一直在寻找另一个解决方案,但一切都让我感到错误
我的app.js
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>
当我添加另一个输入时,我不知道corect如何为许多输入编写代码。我试过这样的事情:
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});
}
});
和html一样:
<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
答案 0 :(得分:0)
我找到了解决方案: app.js
$scope.addTodo = function () {
var newData = $scope.newData.trim();
var newGodz = $scope.newGodz.trim();
var newTemat = $scope.newTemat.trim();
$scope.projects.$add({
data: newData,
godz: newGodz,
temat: newTemat
});
$scope.newData = '';
$scope.newGodz = '';
$scope.newTemat = '';
};
而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>