Доступ к элементам в Polymer 3.0 - PullRequest
0 голосов
/ 21 февраля 2019

Невозможно вызвать функцию.Не может получить доступ к элементу этим. $. Id.Я могу сделать все это в Polymer 2.0, но я пытаюсь перейти на Polymer 3.0.

ready() {
    super.ready();

    this.$.login.addEventListener('login', this.login);
    this.$.login.addEventListener('forgot-password', this.forgotPassword);
}

login(e) {
    const username = e.detail.username;
    const password = e.detail.password;

    auth.signInWithEmailAndPassword(username, password)
        .then(user => {
            // why doesn't this work
            this.getUserFromFirestore(user.uid);
        })
        .catch(error => {
            console.log(error);
            // why doesn't this work
            this.$.login.error = true;
        });
}

getUserFromFirestore(uid) {
    firestore.collection('users').doc(uid)
        .get()
        .then(doc => {
            let user = doc.data();
            console.log(user.role);
        })
        .catch(error => {
            console.log(error);
        });
}

Использование Firebase Auth.Это работает, но когда я вызываю мою getUserFromFirestore функцию, я получаю «TypeError: this.getUserFromFirestore не является функцией»

1 Ответ

0 голосов
/ 21 февраля 2019

Я просто догадываюсь ...

Вы пробовали

constructor () {
    this.login = this.login.bind(this);
}

?

...