AngularFire & Ionic - форма данных не передается на сервер

0

Я использую Ionic и AngularFire для создания своего приложения, но у меня есть (новая) проблема: моя форма данных пуста! Мы можем видеть только огни в моей Firebase DataBase. Как сделать, чтобы получить данные формы, введенные пользователем в базе данных 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> 

Это мой контроллер 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...

Спасибо всем!

Теги:
firebase
ionic-framework
angularfire

1 ответ

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);
              }
       }
}]);

надеюсь это поможет!

  • 0
    Спасибо Али за ваше время. Но я добавляю «$ scope.event = Event.get ();» в моем контроллере и реорганизовал мой сервис, и всегда ничего не происходит в базе данных ... Это так: $ scope.submitEvent = function (event) {var eventRef = new Firebase (" myApp.firebaseio.com/Events" ); eventRef.push ($ scope.event); $ scope.event = Event.get (); $ scope.event = {nameid: '', descriptionid: '', adressid: '' '}; } Я сделал ошибку? С уважением.
  • 0
    Я думал, что ваша проблема была в получении данных, а не в их сохранении ... Я обновил свой ответ соответственно ... дайте мне знать, если это сработало.
Показать ещё 11 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню