Angularjs 保存数据和Firebase的列表

Angularjs 保存数据和Firebase的列表,angularjs,firebase,Angularjs,Firebase,我已经将一个输入添加到项目列表中,但我希望将多个输入添加到同一个$id。如何操作。 我应付不了。我在寻找另一个解决方案,但一切都在打击我 我的app.js var sampleApp = angular.module('sampleApp', ['ngRoute','firebase']); sampleApp.config(['$routeProvider', function($routeProvider) { $routeProvider. when('/List

我已经将一个输入添加到项目列表中,但我希望将多个输入添加到同一个$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>
当我添加另一个输入时,我不知道如何为多个输入编写代码。我试过这样的方法:

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中设置“未定义”。