Authservice против AngularFirestore

Я использую AuthService для вызова моей базы данных MySql с помощью PHP api и, следовательно, моих функций PHP для моего приложения Ionic 3 Angular 4.

Вот как я звоню, чтобы получить userData, и он отлично работает

import { AuthService } from "../../providers/auth-service";

...

constructor(
  public authService: AuthService,
  private loadingCtrl: LoadingController
) {
  const data = JSON.parse(localStorage.getItem("userData"));
  this.userDetails = data.userData;
  this.userPostData.uid = this.userDetails.uid;
  let loader = this.loadingCtrl.create({
    content: 'Please wait...'
  });
}

У меня есть еще один проект, использующий AngularFirestore

import { AngularFirestore, AngularFirestoreDocument } from  'angularfire2/firestore';
import { AngularFireAuth } from 'angularfire2/auth';
import { Storage } from '@ionic/storage';

и называет constructor вот так

private users: AngularFirestoreDocument<{}>;

constructor(
  public navCtrl: NavController,
  private afService: AngularFirestore,
  private storage: Storage,
  private loadingCtrl: LoadingController,
  private afAuth: AngularFireAuth
) {
  this.uid = localStorage.getItem('uid');
  this.users = this.afService.collection('users').doc(this.uid);
  let loader = this.loadingCtrl.create({
    content: 'Please wait...'
  });
  loader.present();
  this.users.valueChanges()
    .subscribe((res: any) => {
      this.canDoMessage = res.canDoMessage;
      loader.dismiss();
    }, error => {
      loader.dismiss();
    });
}

Я просто хочу понять, что делает вызов this.afService.collection?

В основном я спрашиваю, как вызвать «пользователей» в AuthService.

  constructor( public authService: AuthService,,

как это на Firestone

  constructor(private afService: AngularFirestore) { **this.users = afService.collection('users')**; }

Может дело в англичанах. Но не совсем понятно, о чем именно вы спрашиваете.

SiddAjmera 05.10.2018 11:11

Нет, это не английский. Я новичок в ionic и Angular. Что называют «пользователи»? Таблица пользователей формирует базу данных Firestone?

user5312962 05.10.2018 11:27

Что именно вы имеете в виду под Что называют «пользователи»?

SiddAjmera 05.10.2018 11:38

Зачем это нужно? Почему разработчик его называет, для чего он нужен? Называет стол?

user5312962 05.10.2018 11:42
this.users = this.afService.collection ('пользователи'). doc (this.uid); извлекает документ this.uid из коллекции пользователи, как показано в Документация FireStore. пользователи - это var (переменная) и не выполняет никаких вызовов, а просто хранит данные. Есть еще вопрос?
Jay 05.10.2018 16:08
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
154
2

Ответы 2

Вы вводите AngularFirestore как зависимость, и у вас будет ее экземпляр в afService.

Когда вы вызываете this.afService.collection('users'), он возвращает вам AngularFirestoreCollection<{}>, который является оболочкой для типов CollectionReference и Query собственного Firestore SDK. Это общий сервис, который предоставляет вам строго типизированный набор методов, таких как valueChanges(), snapshotChanges(), stateChanges() и auditTrail() для потоковой передачи данных.

Когда вы вызываете this.afService.collection('users').doc(this.uid), он возвращает вам AngularFirestoreDocument<{}>, который является оболочкой для типа DocumentReference собственного Firestore SDK. Это общий сервис, который предоставляет вам строго типизированный набор методов, таких как valueChanges() и snapshotChanges(), для потоковой передачи данных.

Поскольку Firebase основана на событиях, эти API-интерфейсы, которые у вас есть на AngularFirestoreCollection и AngularFirestoreDocument, дают вам способ потоковой передачи данных в форме, с которой вы знакомы (с использованием Observable в Angular).

Перейдите по ссылкам, чтобы просмотреть документы, чтобы узнать больше об этих типах.

Спасибо за ваше время, Сидд, я просто не знаю, как звонить пользователям, используя Authservice, а не Firestone

user5312962 05.10.2018 14:19

Создайте образец stackblitz, правильно описывающий вашу проблему.

SiddAjmera 05.10.2018 15:24

Хорошо, я сделал образец с файлом auth-service в папке поставщиков, страницей входа и страницей поиска в папке страниц, чтобы показать, как работает мой authservice: stackblitz.com/edit/angular-bcawuu. Вот как firestone работает на странице поиска: stackblitz.com/edit/angular-mu9rm1 Я хочу знать, как использовать мой authService для поиска файлов с помощью firestone. На stackblitz.com/edit/angular-mu9rm1, который предназначен для реализации не Firestone, а провайдеров / authService /, я знаю то же самое. Но я хочу знать, как использовать локальную базу данных

user5312962 08.10.2018 23:45

В основном я спрашиваю, как вызвать «пользователей» в конструкторе AuthService (общедоступный authService: AuthService, например, в конструкторе Firestone (частный afService: AngularFirestore) {this.users = afService.collection ('users');}

user5312962 09.10.2018 14:52

Я просто хочу понять, что делает вызов this.afService.collection?

Ответ: - Служба AngularFirestoreCollection - это оболочка для типов CollectionReference и Query из собственного Firestore SDK. Это общий сервис, который предоставляет вам строго типизированный набор методов для управления и потоковой передачи данных. Эта служба предназначена для использования в качестве @Injectable ().

AngularFirestoreCollection - это служба, которую вы используете для создания потоков коллекции и выполнения операций с данными в коллекции underyling.

this.itemsCollection = afs.collection<Item>('items');

Попробуйте этот код

this.users = this.afService.collection<user>('users').doc(this.uid);

Проверьте ссылку: - https://github.com/angular/angularfire2/blob/master/docs/firestore/collections.md

Другие вопросы по теме