2015-07-03 53 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

相關問題