2016-09-29 65 views
0

我真的被这个代码困住了,找不到解决方案。我创建了一个连接到Firebase的Ionic应用程序,我的身份验证工作正常;可以传递数据,但我看不到应该如何正确传递下面的代码。形态结构:Firebase离子代码实现

Form Structure

我传递数据,服务代码:

factory('Products', function($firebaseArray) { 
    var productsRef = new Firebase("https://kidsmoments-19623.firebaseio.com/momentos"); 
    var products =$firebaseArray(productsRef.child('products')); 
    var Products = { 
     saveProduct: function (product, image) { 
       var newProduct = { 
        name: product.name 
        , tagline: product.tagline 
        , description: product.description 
        , price: product.price 
        , image: image 
       }; 
       return products.add(newProduct).then(function() { console.log('added'); 
      }) 
    } 
     }; 
return Products; 

     } 
) 
+0

对不起,我得到的错误是:VM23799 ionic.bundle.js:26771错误:[$注射器:unpr]未知提供者:ProductsProvider < - Products < - settingsController –

回答

0

看起来你忘了添加“产品”为你工作的控制器的依赖。

你也应该尝试火力地堡三方结合:

.factory("Products", ["$firebaseObject", "$rootScope", 
    function($firebaseObject, $rootScope) { 
     return function() { 

      // create a reference to the database where our Products is. 
      var ref = ($rootScope.ref.child("Products")) 

      return $firebaseObject(reg); 
     } 
    } 
]) 

而且从控制器:

Products().$bindTo($scope, "products"); 

现在你做$任何变化scope.products将会同步到火力地堡

+0

嗯,我在我的控制器产品:我添加的最后一个...
'Use Strict'; angular.module('App').controller('settingsController',function($ scope,$ state,$ cordovaOauth,$ localStorage,$ log,$ location,$ http,$ ionicPopup,$ firebaseObject,Auth,FURL,Products ){ var ref = firebase.database()。ref –

+0

请用正确的缩进编写代码,这样更容易阅读。你还会得到同样的错误吗? –

+0

好吧,我认为必须使用firebase配置。一方面,我有firebase.initializeApp(FURL); var ref = firebase.database()。ref(); var auth = $ firebaseAuth();另一方面,我需要创建de product.js firebase配置:var productsRef = new Firebase(“https://kidsmoments-19623.firebaseio.com/momentos”); var products = $ firebaseArray(productsRef.child('products'));,对不起,我不知道如何断线。谢谢 –

0

我相信你有一个实体产品,所以请参考该实体并推送像这样的数据:

var productsRef = new Firebase("https://kidsmoments-19623.firebaseio.com/momentos/products"); 

productsRef.push({ 
    name: product.name, 
    tagline: product.tagline, 
    description: product.description, 
    price: product.price, 
    image: image 
}) 

更新关于你请的错误确保您已注入的提供者设置控制器