z_blog:2018:181126_vue_google_login
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
z_blog:2018:181126_vue_google_login [2018/11/25] – 作成 adash333 | z_blog:2018:181126_vue_google_login [2018/11/27] (現在) – [コンポーネント間の情報の受け渡しとログイン情報の表示] adash333 | ||
---|---|---|---|
行 9: | 行 9: | ||
</ | </ | ||
+ | ===== 開発環境 ===== | ||
+ | < | ||
+ | Windows 8.1 Pro | ||
+ | Node v8.12.0 | ||
+ | vue-cli 2.9.6 | ||
+ | firebase-tools 6.1.1 | ||
+ | VisualStudioCode | ||
+ | </ | ||
+ | 2018/ | ||
+ | 今気づきました。 | ||
+ | とりあえず、写経元の本の通りに、vue-cliでやっていこうと思います。 | ||
+ | 参考:https:// | ||
+ | {{: | ||
+ | |||
+ | ===== componentsの作成 ===== | ||
+ | |||
+ | Googleアカウントでログインしていないときに表示するHome.vueと、ログインしているときに表示するEditor.vueを作成する。 | ||
+ | |||
+ | src/ フォルダに、compnents/ | ||
+ | |||
+ | src/ | ||
+ | {{: | ||
+ | |||
+ | 同様に、src/ | ||
+ | {{: | ||
+ | |||
+ | ===== App.vueにHomeComponentとEditorComponentを表示 ===== | ||
+ | ターミナルで npm run dev を入力し、サーバを起動しておく。 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | src/App.vue | ||
+ | |||
+ | (変更後) | ||
+ | {{: | ||
+ | |||
+ | |||
+ | ===== Firebaseでログインの設定 ===== | ||
+ | |||
+ | FirebaseのConsole画面 | ||
+ | https:// | ||
+ | から、プロジェクト(今回の場合はmymarkdownプロジェクト)を開き、 | ||
+ | |||
+ | Autehntication > ログイン方法 > Google をクリック | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Googleタブが開くので、「有効にする」をONにして、プロジェクトのサポートメール を選択する。このメールアドレスはgmailしか選択できないらしい。しかも、ログイン認証画面でこのメールアドレスが公開されてしまうらしいので、サイトを公開する場合は、新しくgmailアドレスを登録し、そちらで新たにFirebaseプロジェクトを作成した方がよさそうです。 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 保存をクリックすると、Googleアカウントのところが、「有効」に変化していることが分かる。 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Googleログインの実装 ===== | ||
+ | |||
+ | src/ | ||
+ | |||
+ | (変更前) | ||
+ | {{: | ||
+ | |||
+ | (変更後) | ||
+ | {{: | ||
+ | |||
+ | これで、「Googleアカウントでログイン」ボタンをクリックすると、以下のように画面遷移する。 | ||
+ | (まだ、現時点では、Googleログイン後も、画面はHome.vueのままである。) | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== ログイン状態に有無によるコンポーネント表示の選択 ===== | ||
+ | src/App.vue | ||
+ | |||
+ | (変更前) | ||
+ | {{: | ||
+ | |||
+ | (変更後) | ||
+ | {{: | ||
+ | |||
+ | 既にGoogleログインしているので、isLogin が true となり、画面にEdit.vueの内容が表示された。 | ||
+ | |||
+ | なんか、Vue.jsは非常にシンプルだと感じました。 | ||
+ | |||
+ | ===== コンポーネント間の情報の受け渡しとログイン情報の表示 ===== | ||
+ | ログインユーザーの情報を画面に表示する。 | ||
+ | |||
+ | App.vueが所有している「Googleログインユーザー情報」を、Editor.vueに渡して、表示する。 | ||
+ | |||
+ | App.vue(データを送信する側)では、新しいdataを定義してユーザー情報を格納する。(さらに、< | ||
+ | |||
+ | Editor.vue(データを受け取る側)では、propsという名前で親コンポーネント(App.vue)から受け継ぐデータを定義する。 | ||
+ | |||
+ | src/App.vue | ||
+ | |||
+ | (変更前) | ||
+ | {{: | ||
+ | |||
+ | (変更後) | ||
+ | {{: | ||
+ | |||
+ | src/ | ||
+ | |||
+ | (変更前) | ||
+ | {{: | ||
+ | |||
+ | (変更後) | ||
+ | {{: | ||
+ | |||
+ | あらら、真っ白になってしまった。Chromeで、Ctrl+Shift+I にて「デベロッパーツール」を開き、consoleを見てみると、 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | とのことなので、App.vueに何か書き忘れたかと再度チェック。App.vueの< | ||
+ | |||
+ | src/ | ||
+ | {{: | ||
+ | |||
+ | ちゃんとGoogleアカウントの名前が表示された。 | ||
+ | |||
+ | 参考:https:// | ||
+ | {{: | ||
+ | |||
+ | ちなみに、このようなデータ受け渡しを行う場合は、もう少し複雑なことをしたい場合には、Vuexという公式ライブラリを利用する必要があるらしい。Vuexは、個人的に何回も挫折した、あのReactでのRedux(Flux)のVue.jsバージョンらしい。。。 | ||
+ | |||
+ | Vue.js 結構単純で面白い。しかも、Ionic(Angular)などのフルスタックフレームワークと比べて動作が軽いところがよい。(私はフルスタックフレームワークが好きなので、いずれはNuxt.jsに手を出したいと考えてはいるが。)、 | ||
z_blog/2018/181126_vue_google_login.1543154953.txt.gz · 最終更新: 2018/11/25 by adash333