Я использую 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')**; }
Нет, это не английский. Я новичок в ionic и Angular. Что называют «пользователи»? Таблица пользователей формирует базу данных Firestone?
Что именно вы имеете в виду под Что называют «пользователи»?
Зачем это нужно? Почему разработчик его называет, для чего он нужен? Называет стол?






Вы вводите 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
Создайте образец stackblitz, правильно описывающий вашу проблему.
Хорошо, я сделал образец с файлом auth-service в папке поставщиков, страницей входа и страницей поиска в папке страниц, чтобы показать, как работает мой authservice: stackblitz.com/edit/angular-bcawuu. Вот как firestone работает на странице поиска: stackblitz.com/edit/angular-mu9rm1 Я хочу знать, как использовать мой authService для поиска файлов с помощью firestone. На stackblitz.com/edit/angular-mu9rm1, который предназначен для реализации не Firestone, а провайдеров / authService /, я знаю то же самое. Но я хочу знать, как использовать локальную базу данных
В основном я спрашиваю, как вызвать «пользователей» в конструкторе AuthService (общедоступный authService: AuthService, например, в конструкторе Firestone (частный afService: AngularFirestore) {this.users = afService.collection ('users');}
Я просто хочу понять, что делает вызов 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
Может дело в англичанах. Но не совсем понятно, о чем именно вы спрашиваете.