AngularFire&离子 - 没有数据形式传输到服务器

时间:2015-07-03 17:00:41

标签: javascript angularjs ionic-framework firebase angularfire

我使用Ionic和AngularFire制作我的应用程序,但我有一个(新的)问题: 我的数据表格是空的!我们只能看到DataBase Firebase中的傻瓜。 如何检索用户在Firebase数据库中输入的表单数据?

图片中的问题:

http://img15.hostingpics.net/pics/238594event.png

这是我的HTML:

<form ng-submit="submitEvent(event)">
  <label class="item item-input item-stacked-label">
    <span class="input-label"><i class="fa fa-pencil"></i> Nom de l'événement</span>
    <input type="text" ng-model="event.nameid">
  </label>
  <label class="item item-input item-stacked-label">
    <span class="input-label"><i class="icon ion-ios-information"></i> Description</span>
    <br><textarea ng-model="event.descriptionid"></textarea>
  </label>
  <label class="item item-input item-stacked-label">
    <span class="input-label"><i class="fa fa-location-arrow"></i> Adresse</span>
    <input type="text" ng-model="event.addressid">
  </label>

  <button class="button" type="submit" value="Add Event" id="success-btn-create"><i class="fa fa-arrow-right"></i></button></form> 

这是我的Controller JS:

myApp.controller('Step1Ctrl', ['$scope', 'Event', 'Auth', '$rootScope', '$state', '$firebaseArray', function($scope, Event, Auth, $rootScope, $state, $firebaseArray) {

  $scope.submitEvent = function(event) {

    var nameid = $scope.nameid;
    var eventRef = new Firebase("https://myApp.firebaseio.com/Events");
    eventRef.push($scope.event);
    $scope.event = {nameid: '', descriptionid: '', adressid: ''};

  }

  $scope.deleteEvent = function(index) {
    $scope.events.splice(index , 1);
  }


}])

这是我的服务JS:

myApp.factory("Event", ["$firebaseArray", function($firebaseArray) {
var eventRef = new Firebase('https://myApp.firebaseio.com/Events/');
  return $firebaseArray(eventRef);
}]);

可选问题:如何恢复组织者的名称?他是用Facebook登录的......

感谢所有人!

1 个答案:

答案 0 :(得分:0)

将此添加到您的控制器:

$scope.submitEvent = function(event) {

   Event.add(event).then(function (data){ 
      $scope.event = {nameid: null, descriptionid: null, adressid: null};
     });
  }

您还可以按如下方式重新组织服务:

myApp.factory("Event", ["$firebaseArray", function($firebaseArray) {
  var eventRef = new Firebase('https://myApp.firebaseio.com/Events/');
  return {
         get: function (){
                return $firebaseArray(eventRef);
              }
            ,
        add: function (event){
          var eventInfo = $firebaseArray(eventRef);
          return eventInfo.$add(event);
              }
       }
}]);

希望这有帮助!