#ionic-framework #firebase #firebase-realtime-database
#ионный фреймворк #firebase #firebase-база данных в реальном времени
Вопрос:
Я действительно застрял в этом коде и не могу найти решение. Я создал ионное приложение с подключением к Firebase, и моя аутентификация работает нормально; могу передавать данные, но я не вижу, как мне правильно передать следующий код. Структура формы:
Мой код для передачи данных, служба:
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;
}
)
Комментарии:
1. Извините, ошибка, которую я получаю: VM23799 ionic.bundle.js:26771 Ошибка: [$injector: unpr] Неизвестный поставщик: ProductsProvider <- Products <- settingsController
Ответ №1:
Похоже, вы забыли добавить «Продукты» в качестве зависимости в контроллере, над которым вы работали.
Также вам следует попробовать трехстороннюю привязку Firebase:
.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, будет синхронизировано с Firebase
Комментарии:
1. Ну, у меня есть в моих продуктах контроллера: последний, который я добавил …<br>’Use Strict’; angular.module(‘App’).controller(‘settingsController’, функция ($scope, $state,$cordovaOauth, $localStorage, $log, $location,$http,$ionicPopup, $ firebaseObject, Auth, FURL, Products) { var ref = firebase.database().ref
2. Пожалуйста, пишите код с правильным отступом, так его легче читать. Вы все еще получаете ту же ошибку?
3. Хорошо, я думаю, это должно быть связано с конфигурацией firebase. В одной руке у меня есть firebase.initializeApp(FURL); var ref = firebase.database().ref(); var auth = $FirebaseAuth(); а в другой руке мне нужно создать de product.js с конфигурацией firebase: var productsRef = new Firebase(» kidsmoments-19623.firebaseio.com/momentos » );var products =$firebaseArray(productsRef.child(‘products’));, извините, я не знаю, как разбивать строки. Спасибо
4. Используйте четыре пробела для отступа кода, я не могу понять ваш комментарий.. Пожалуйста, постарайтесь быть более понятными.
5. Привет, Йосси, я действительно запутался. Не могли бы вы, пожалуйста, взглянуть на код здесь? github.com/cookyourweb/firebase-ionic-auth-data.git Спасибо за ваше время
Ответ №2:
Я полагаю, что у вас есть сущность products, поэтому сделайте ссылку на эту сущность и отправьте свои данные следующим образом:
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
})
Обновление об ошибке, которую вы получаете, пожалуйста, убедитесь, что вы ввели поставщика в свой контроллер настроек