2015-07-03 52 views
0

我使用Ionic和AngularFire来创建我的应用程序,但我有一个(新)问题: 我的数据表格为空!我们可以在我的DataBase Firebase中看到简单的信息。 如何检索用户在Firebase数据库中输入的表单数据?AngularFire&Ionic - 没有数据表被传输到服务器

中的形象问题:

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登录...

感谢所有人!

回答

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 =函数(事件){ VAR eventRef =新的火力地堡(“https://myApp.firebaseio.com /活动“); eventRef.push($ scope.event); $ scope.event = Event.get(); $ scope.event = {nameid:'',descriptionid:'',adressid:'''}; } 我有错误吗? 此致敬礼。 – PositivProd

+0

我以为你的问题是关于检索数据,而不是保存它..我已经相应地更新了我的答案。让我知道它是否工作。 –

+0

谢谢,但我有这个:错误:$ firebase已被删除。您现在可以直接实例化$ firebaseArray和$ firebaseObject。对于简单的写入操作,直接使用Firebase ref。有关详细信息,请参阅AngularFire 1.0.0更新日志:https://www.firebase.com/docs/web/libraries/angular/changelog.html – PositivProd

相关问题