質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Angular

Angularは、JavaScriptフレームワークです。AngularJSの後継であり、TypeScriptベースで実装されています。機能ごとに実装を分けやすく、コードの見通しが良いコンポーネント指向です。

Q&A

解決済

1回答

1737閲覧

エラーの'auth' が'AngularFireAuth'に見つからない件について(firebaseを利用)

Maruco2321

総合スコア118

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Angular

Angularは、JavaScriptフレームワークです。AngularJSの後継であり、TypeScriptベースで実装されています。機能ごとに実装を分けやすく、コードの見通しが良いコンポーネント指向です。

0グッド

0クリップ

投稿2021/12/23 05:24

MacOS、VScodeにてIonicで簡単なアプリを作ろうとしています。その際にfirebaseを使ったのですが以下のエラーでつまってしまいました。

コード Build at: 2021-12-23T05:07:25.515Z - Hash: 8f41fd436e0419e212121 - Time: 1738ms [ng] [ng] Error: src/app/login/login.page.ts:49:21 - error TS2339: Property 'auth' does not exist on type 'AngularFireAuth'. [ng] [ng] 49 this.afAuth.auth [ng] ~~~~ [ng] [ng] [ng] [ng] ✖ Failed to compile.

意味自体は'AngularFireAuth'中の(おそらく昔のバージョンではあった)'auth'が読み取れないためのエラーだと思います。解決策としてlogin.page.tsのスラッシュ部分に書いてあるようなことを調べて試してみたのですがどうもうまくいきませんでした。よろしくお願いします????‍♂️

login.page.ts

import { Component, OnInit } from '@angular/core'; import { ToastController } from '@ionic/angular'; import { Router } from '@angular/router'; import firebase from 'firebase/compat/app'; import "firebase/auth"; //下のように試してみたのですが、うまく機能しませんでした。 // import 'firebase/compat/auth'; // import 'firebase/compat/firestore'; // import firebase from 'firebase/compat/app'; // // import { firebase.default.auth } from 'firebase/app'; // import { Component, OnInit } from '@angular/core'; // import { AngularFirestore } from '@angular/fire/firestore'; // import * as firebase from "firebase"; // import { AngularFireAuth } from '@angular/fire/auth'; // import { auth } from 'firebase/app'; // Firebase import { AngularFireAuth } from '@angular/fire/compat/auth'; @Component({ selector: 'app-login', templateUrl: './login.page.html', styleUrls: ['./login.page.scss'] }) export class LoginPage implements OnInit { login: { email: string; password: string; } = { email: '', password: '' }; constructor( private router: Router, private toastCtrl: ToastController, private afAuth: AngularFireAuth ) {} ngOnInit() {} userLogin() { this.afAuth.auth// ここが問題の部分です! .signInWithEmailAndPassword(this.login.email, this.login.password) .then(async user => { const toast = await this.toastCtrl.create({ message: `${user.user.displayName}さん、こんにちは!`, duration: 3000 }); await toast.present(); // ログインできたらメッセージボードに移動する this.router.navigate(['/home']); }) .catch(async error => { const toast = await this.toastCtrl.create({ message: error.toString(), duration: 3000 }); await toast.present(); }); } gotoSignup() { this.router.navigateByUrl('/signup'); } } コード

package.json

コード { "name": "ionic-board", "version": "0.0.1", "author": "Ionic Framework", "homepage": "https://ionicframework.com/", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e" }, "private": true, "dependencies": { "@angular/common": "~13.0.0", "@angular/core": "~13.0.0", "@angular/fire": "^7.2.0", "@angular/forms": "~13.0.0", "@angular/platform-browser": "~13.0.0", "@angular/platform-browser-dynamic": "~13.0.0", "@angular/router": "~13.0.0", "@awesome-cordova-plugins/status-bar": "^5.37.3", "@capacitor/core": "3.3.3", "@ionic/angular": "^6.0.0", "cordova-plugin-statusbar": "^3.0.0", "firebase": "^9.6.1", "rxjs": "~6.6.0", "tslib": "^2.2.0", "zone.js": "~0.11.4" }, "devDependencies": { "@angular-devkit/build-angular": "~13.0.1", "@angular-eslint/builder": "~13.0.1", "@angular-eslint/eslint-plugin": "~13.0.1", "@angular-eslint/eslint-plugin-template": "~13.0.1", "@angular-eslint/template-parser": "~13.0.1", "@angular/cli": "~13.0.1", "@angular/compiler": "~13.0.0", "@angular/compiler-cli": "~13.0.0", "@angular/language-service": "~13.0.0", "@capacitor/cli": "3.3.3", "@ionic/angular-toolkit": "^5.0.0", "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", "@types/node": "^12.11.1", "@typescript-eslint/eslint-plugin": "5.3.0", "@typescript-eslint/parser": "5.3.0", "eslint": "^7.6.0", "eslint-plugin-import": "2.22.1", "eslint-plugin-jsdoc": "30.7.6", "eslint-plugin-prefer-arrow": "1.2.2", "jasmine-core": "~3.8.0", "jasmine-spec-reporter": "~5.0.0", "karma": "~6.3.2", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.0.3", "karma-coverage-istanbul-reporter": "~3.0.2", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "^1.5.0", "protractor": "~7.0.0", "ts-node": "~8.3.0", "typescript": "~4.4.4" }, "description": "An Ionic project" }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

どうやら記述方法が変わったようです。参考にしたのサイトをみたのですが解決しました。ありがとうございました????‍♂️
https://qiita.com/kokogento/items/e4114ace674b31cbd7bd

自分の場合
this.afAuth.auth// ここが問題の部分です!

this.afAuth// ここが問題の部分です!
のようにしました。

投稿2021/12/23 22:04

Maruco2321

総合スコア118

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問