今までのフロントエンドではjQueryが主流でしたが、近年では3大フレームワークと呼ばれる「Vue」「React」「Angular」が人気を誇っています。
まだ多くの場所で活躍しているjQueryですが、フロントエンドは技術の入れ替わりが激しいためjQueryしか触れないとなると、今後エンジニアとしての価値が落ちてしまうかもしれません。
そこで、こちらの記事ではVue.jsの学習におすすめの本を10冊紹介します。この本ではどのようなことが学習できるか分かりやすいようchapterを記載しているのでご参考ください。
目次
Vue.js入門 基礎から実践アプリケーション開発まで
出版社 | 技術評論社 |
著者 | 野田 陽平 |
発売日 | 2018/9/22 |
ページ数 | 480ページ |
Kindle版 | ◯ |
レビュー (Amazon) | (93件) |
Vue.js入門書の決定版! 初歩から実践までわかる!
Vue.jsを初歩から実践まで徹底的に解説。使いやすくかつ、プロダクションでも活躍するVue.jsをVue.jsコントリビューターの著者らが解説する一番わかりやすい入門書です。
小規模な適用例やjQueryからの移行サンプルに加え、大規模開発を想定したアプリケーション開発も体験できます。
Vue.jsはGitHubで2017年最も人気のあったJavaScriptフレームワークに選ばれるなど大注目の技術です。
- プログレッシブフレームワークVue.js
- 現代のWebフロントエンド開発の複雑化
- Webの誕生とWebベースシステムへの発展
- Ajaxの登場
- HTML5,Node.js,ES2015,React以降の世界
- AltJSの登場
- 現在の課題とVue.js
- Vue.jsの特徴
- 学習コストが低い
- コンポーネント指向によるUIの構造化
- リアクティブなデータバインディング
- Vue.jsの設計思想
- フレームワークの複雑性
- 要求の変化に追随できるフレームワーク
- プログレッシブフレームワークの解決する段階的な領域
- 宣言的レンダリング(Declarative Rendering)
- コンポーネントシステム(Component System)
- クライアントサイドルーティング(Client-side Routing)
- 大規模向け状態管理(Large-scale State Management)
- ビルドシステム(Build System)
- クライアントサーバーデータ永続化(Client-server Data Persistence)
- Vue.jsを支える技術
- コンポーネントシステム
- リアクティブシステム
- リアクティブシステムの内側
- レンダリングシステム
- Vue.jsの仮想DOMの処理の流れ
- Vue.jsのエコシステム
- Vue.jsのはじめの一歩
- JSFiddleで実践
- Vue.jsのドキュメンテーション
- Vue.jsコミュニティ
- Vue.jsの対応ブラウザ
- 現代のWebフロントエンド開発の複雑化
- Vue.jsの基本
- Vue.jsでUIを構築する際の考え方
- 旧来のUI構築の問題点
- Vue.jsのUI構築
- Vue.jsの導入
- Vue.jsの高度な環境構築
- Vueオブジェクト
- コンストラクタ
- MVVMパターン
- コンポーネント
- Vueインスタンスのマウント
- Vueインスタンスの適用(el)
- メソッドによるマウント($mountメソッド)
- Vue.jsを既存アプリケーションに導入する
- UIのデータ定義 (data)
- Vueインスタンスの確認
- データの変更を検知する
- テンプレート構文
- テキストへの展開
- 属性値の展開
- JavaScript式の展開
- フィルタ(filters)
- フィルタの連結
- 算出プロパティ(computed)
- thisによる参照
- サンプルアプリケーションでの実装
- ディレクティブ
- 条件付きレンダリング(v-if/v-show)
- クラスとスタイルのバインディング
- リストレンダリング(v-for)
- リストレンダリングパフォーマンス
- イベントハンドリング(v-on)
- フォーム入力バインディング(v-model)
- 修飾子による動作の変更
- ライフサイクルフック
- ライフサイクルフック一覧とフロー
- createdフック
- mountedフック
- beforeDestroyフック
- メソッド(methods)
- イベントオブジェクト
- 算出プロパティのキャッシュ機構
- サンプルでのメソッドの呼び出し
- Vue.jsでUIを構築する際の考え方
- コンポーネントの基礎
- コンポーネントとは何か
- 全てはUIコンポーネントから構成される
- コンポーネント化のメリットと注意点
- Vue.jsのコンポーネントシステム
- Vue.jsのコンポーネントとWeb Components
- Vueコンポーネントの定義
- グローバルコンポーネントの定義
- コンストラクタベースの定義
- ReactのRender Props
- ローカルコンポーネントの定義
- テンプレートを構築するその他の手段
- コンポーネントの命名規則について
- コンポーネントのライフサイクル
- コンポーネントのデータ
- オブジェクトを指定した場合の警告
- コンポーネント間の通信
- 親コンポーネントから子コンポーネントへデータの伝播
- 子コンポーネントから親コンポーネントへの通信
- propsとイベントを用いない親子間のやりとり
- 親子以外のコンポーネントでデータをやりとりする
- 子から親のネイティブDOMイベントを取得したい場合 ― .native修飾子
- propsの値に関して双方向バインディングを実現したい場合 ― .sync修飾子
- コンポーネントの設計
- コンポーネントの分割方針
- コンポーネント自体の設計
- Atomic Design
- スロットコンテンツを活かしたヘッダーコンポーネントの作成
- ログインフォームコンポーネントの作成
- コンポーネント単位のテスト
- コンポーネントとは何か
- Vue Routerを活用したアプリケーション開発
- Vue Routerによるシングルページアプリケーション
- シングルページアプリケーションとルーティング
- Vue Routerとは
- ルーティングの基礎
- ルーターのインストール
- ルーティング設計
- 実践的なルーティングのための機能
- URLパラメーターの扱いとパターンマッチング
- 名前付きルート
- router.pushを使った遷移
- フック関数
- サンプルアプリケーションの実装
- リストページの実装
- APIによるデータ通信
- 詳細ページの実装
- ユーザー登録ページの実装
- ログイン・ログアウトの実装
- サンプルアプリケーションの全体像
- Vue Routerの高度な機能
- RouterインスタンスとRouteオブジェクト
- ネストしたルーティング
- リダイレクト・エイリアス
- 履歴の管理
- Vue Routerを使った大規模なアプリケーションの実装
- Vue RouterとReact Router
- Vue Routerによるシングルページアプリケーション
- Vue.jsの高度な機能
- トランジションアニメーション
- transitionラッパーコンポーネント
- トランジションクラス
- fadeトランジションの実装
- Vue Routerのトランジション
- カスタムトランジションクラス
- JavaScriptフック
- スロット
- 単一スロット
- 名前付きスロット
- スロットのスコープ
- カスタムディレクティブ
- コンポーネントやミックスインとの違い
- 作成するカスタムディレクティブの定義
- ディレクティブ定義オブジェクト
- フック関数の引数
- image-fallbackディレクティブの機能追加
- DOM操作を行うライブラリをラップする
- 描画関数
- 描画関数を用いないと書きづらい例
- 描画関数による効率化
- createElement関数
- h関数
- JSX
- ミックスイン
- ミックスインで機能を再利用する
- グローバルミックスイン
- ミックスインの命名規則
- トランジションアニメーション
- 単一ファイルコンポーネントによる開発
- ツールのインストール
- Vue CLI
- 単一ファイルコンポーネントとは
- 単一ファイルコンポーネントの仕様
- <template>ブロック
- <script>ブロック
- <style>ブロック
- 単一ファイルコンポーネントのビルド
- 単一ファイルコンポーネントの動作を体験する
- 動作を押さえる
- 単一ファイルコンポーネントの機能
- 外部ファイルのインポート
- スコープ付きCSS
- スコープ付きCSSのメリット
- CSSモジュール
- 他言語実装のサポート
- カスタムブロック
- カスタムブロックの定義
- ツールのインストール
- Vuexによるデータフローの設計・状態管理
- 複雑な状態管理
- データフローの設計
- 信頼できる唯一の情報源(Single Source of Truth)
- 「状態の取得・更新」のカプセル化
- 単方向データフロー
- Vuexによる状態管理
- Vuexのインストール
- Vuexのコンセプト
- ストア
- ステート
- ゲッター
- ミューテーション
- アクション
- タスク管理アプリケーションの状態管理
- アプリケーションの仕様と準備
- タスクの一覧表示
- タスクの新規作成と完了
- ラベル機能の実装
- ラベルのフィルタリング
- ローカルストレージへの保存と復元
- Vuexによるアプリケーションの考察
- ストアのモジュール分割
- namespacedオプションによる名前空間
- VuexストアとVueコンポーネント間の通信
- コンポーネントからストアにアクセスする
- ストアにアクセスするコンポーネントを必要最小限にする
- VuexとVue Routerの連携
- 中規模・大規模向けのアプリケーション開発① 開発環境のセットアップ
- Vue.jsのプロジェクト構築の特徴
- Vue.jsで本格的な開発をするための心構え
- 本章で作成するアプリケーション
- アプリケーション仕様概要
- アプリケーションアーキテクチャ
- バックエンドの設計
- アプリケーションの開発環境構築
- 開発環境構築をサポートするVue CLI
- JavaScriptの環境構築とVue CLI
- vue init について
- Vue CLIによる開発環境の構築
- アプリケーションプロジェクトの作成
- プロジェクト構造
- タスクコマンド
- アプリケーションの起動確認
- アプリケーションの環境変数
- アプリケーションのビルド
- アセット処理
- リントツール
- テスト環境
- 単体テスト
- E2Eテスト
- フロントエンド・バックエンド連携
- APIのプロキシ
- バックエンドとのインテグレーション
- さらなる開発環境の強化
- Vue.jsコーディング環境の構築
- Vue.js公式ESLintプラグインの導入
- デバッグとプロファイリングの環境構築
- バックエンドAPIサーバーの環境構築
- 状態管理ライブラリの導入
- HTTPクライアントライブラリの導入
- 単体テストユーティリティの導入
- E2Eテストのコマンド登録
- Vue.jsのプロジェクト構築の特徴
- 中規模・大規模向けのアプリケーション開発② 設計
- コンポーネント設計
- Atomic Designによるコンポーネントの抽出
- Atoms
- Molecules
- Organisms
- Templates
- 単一ファイルコンポーネント化
- ディレクトリの構造化と各ファイルの配置
- コンポーネントのAPI
- KbnButtonコンポーネントのAPI
- 状態モデリングとデータフローの設計
- 状態モデリング
- データフロー
- データフロー周りの雛形コードのセットアップ
- アクションの雛形
- ルーティング設計
- ルートフロー
- ルート定義
- コンポーネント設計
- 中規模・大規模向けのアプリケーション開発③ 実装
- 開発方針の整理
- アプリケーションの実装に入る前に
- コンポーネントの実装
- KbnButtonコンポーネント
- KbnLoginFormコンポーネント
- KbnLoginViewコンポーネント
- データフローの実装
- loginアクションハンドラ
- AUTH_LOGINミューテーションハンドラ
- Auth APIモジュール
- ルーティングの実装
- beforeEachガードフックを活用したナビゲーションガード
- 開発サーバーとデバッグ
- 開発サーバーによる開発
- Vue DevToolsによるデバッグ
- E2Eテスト
- E2Eテストの実装
- テストの実行
- アプリケーションのエラーハンドリング
- 子コンポーネントのエラーハンドリング
- グローバルなエラーハンドリング
- ビルドとデプロイ
- アプリケーションのビルド
- アプリケーションのデプロイ
- Vue.jsのバックエンド
- パフォーマンス測定・改善
- パフォーマンス測定の設定方法
- 測定できる処理
- レンダリングパフォーマンスの向上
- Vue CLIの対話的な選択時の注意点
- テンプレートコンパイラのオプションを利用する
- 開発方針の整理
- jQueryからの移行
- 移行の判断
- jQueryで実装していた機能のVue.jsによる実装
- イベントリスナー
- 表示の切り替え
- 要素の挿入・削除
- 属性値の変更
- クラスの変更
- スタイルの変更
- フォーム(ユーザー入力)
- 開発ツール
- Storybook
- 開発プロジェクトに導入する
- Storybookを動作させる
- ストーリーを実装する
- Storybookを公開する
- 静的型付き言語
- TypeScript
- TypeScriptの記述例
- セットアップ
- TypeScriptコンパイラ
- コンポーネントの実装
- 単一ファイルコンポーネント用の設定
- エディタ
- ライブラリの型定義
- TypeScriptの型定義がないとき
- Vue.jsとFlow
- Storybook
- Nuxt.js
- Nuxt.jsとは
- Nuxt.jsの特徴
- サーバーサイドレンダリングのサポート
- サーバーサイドレンダリング環境の構築
- サーバーサイドレンダリングの必要性
- すぐに開発着手できる開発環境と拡張性の提供
- 静的なHTMLファイル生成のサポート
- Nuxt.jsをはじめる
- Nuxt.jsで静的サイトを作成する
- 画面仕様
- ルーティングを追加する
- グローバルナビゲーションのコンポーネントを追加する
- レイアウトにグローバルナビゲーションを追加する
- 開発サーバーで動作確認する
- 静的なHTMLファイルにビルドする
- Nuxt.jsにおけるサーバーサイドレンダリング
これからはじめるVue.js実践入門
出版社 | SBクリエイティブ |
著者 | 山田 祥寛 |
発売日 | 2019/8/22 |
ページ数 | 468ページ |
Kindle版 | ◯ |
レビュー (Amazon) | (65件) |
いま学んでおきたいJavaScriptフレームワーク「Vue.js」のエッセンスを一冊に詰め込みました!
豊富なサンプルコードで試しながら理解できます!
Vue.js(ビュージェイエス)は、Webアプリのビュー(見た目)の部分に特化したシンプルなフレームワークです。既存のアプリに後乗せで導入したり、徐々に適用範囲を拡大したりすることが手軽に行えます。シンプルな分、他のフレームワークと比べて学習コストが低く、HTMLとJavaScriptが一通りわかる人ならコードを理解するのも簡単です。
本書では、Vue.jsの中核である、ページを構成するUI部品「コンポーネント」をしっかりと解説し、さらには本格的なアプリ開発で必要となる要素までを網羅的に取り扱います。丁寧な解説でよくわかる、入門書の決定版です!
- イントロダクション
- JavaScriptの歴史
- 初期の盛り上がりから「不遇の時代」へ
- AjaxによるJavaScript の復権
- HTML5の時代へ
- jQueryからJavaScriptフレームワークへ
- jQueryの時代
- jQueryの限界とJavaScriptフレームワーク
- 主なJavaScriptフレームワークとVue.js
- フレームワークとは?
- 主なJavaScriptフレームワーク
- Vue.jsの特徴
- 導入ハードル、学習コストが低い
- アプリの段階的(Progressive)な成長に対応できる
- コンポーネント指向である
- ドキュメントやライブラリが充実している
- ECMAScriptとは?
- JavaScriptの歴史
- Vue.jsの基本
- Vue.jsを利用するための準備
- Vue.jsアプリの実行
- Vue.js理解のための3つの柱
- ディレクティブ
- 算出プロパティ
- ライフサイクルフック
- リアクティブデータ
- リアクティブシステムの例
- リアクティブシステムの制約
- ビューの非同期更新を理解する
- ウォッチャーによる明示的な監視
- Vue.jsを利用するための準備
- ディレクティブ
- イベント関連のディレクティブ
- イベントの基本
- Vue.jsで利用できる主なイベント
- イベントオブジェクト
- フォーム関連のディレクティブ
- 双方向データバインディング
- ラジオボタン
- チェックボックス(単一)
- チェックボックス(複数)
- 選択ボックス
- ファイル入力ボックス
- バインドの動作オプションを設定する
- バインドのタイミングを遅延させる~ .lazy修飾子
- 双方向データバインドのカスタマイズ
- 制御関連のディレクティブ
- 式の真偽に応じて表示と非表示を切り替える~ v-if
- 式の真偽に応じて表示/非表示を切り替える~ v-show
- 配列やオブジェクトを繰り返し処理する~ v-for
- v-forによるループ処理の注意点
- 配列の変更を反映する~変更メソッド
- 配列要素の追加/削除を効率的に行う
- データバインディング関連のディレクティブ
- 属性に値をバインドする~ v-bind
- 文字列をHTMLとして埋め込む~ v-html
- 値を一度だけバインドする~ v-once
- 要素にスタイルプロパティを設定する~ v-bind:style
- 要素にスタイルクラスを設定する~ v-bind:class
- {{ }} 構文による画面のチラツキを防ぐ~ v-cloak
- より高度なイベント処理
- 定型的なイベント処理を宣言的に指定する~イベント修飾子
- イベントの既定の動作をキャンセルする
- 一度だけしか実行されないハンドラーを登録する
- イベントの伝播を抑制する
- キーイベントでのキーを識別する~キー修飾子
- システムキーとの組み合わせを検知する
- マウスの特定のボタンを検知する~マウス修飾子
- イベント関連のディレクティブ
- コンポーネント(基本)
- コンポーネントの基本
- コンポーネントの定義
- コンポーネントの呼び出し
- グローバル登録とローカル登録
- コンポーネント間の通信
- コンポーネントのスコープ
- 親コンポーネント 子コンポーネントの伝達~ props オプション
- プロパティ値の型を制限する
- 子コンポーネント 親コンポーネントの伝達~ $emit メソッド
- propsや$emitを利用しない親子間通信
- コンポーネント配下のコンテンツをテンプレートに反映させる~スロット
- スロットのスコープ
- 複数のスロットを利用する
- スロットから子コンポーネントの情報を引用する~スコープ付きスロット
- コンポーネントの基本
- コンポーネント(応用)
- 動的コンポーネント
- 動的コンポーネントの基本
- タブパネルを生成する
- v-modelによる双方向データバインディング
- コンポーネントでのv-modelの利用例
- v-modelの紐付け先を変更する~ modelオプション
- 複数のプロパティを双方向バインディングする~ .sync修飾子
- アニメーション機能
- アニメーションの基本
- キーフレームによるアニメーション制御
- アニメーションの制御
- リストトランジション
- コンポーネントのその他の話題
- テンプレートの記法
- 関数型コンポーネント~ functionalオプション
- 動的コンポーネント
- 部品化技術
- ディレクティブの自作
- ディレクティブの基本
- 属性値の変化を検出する
- 修飾子付きのディレクティブを定義する
- 引数付きのディレクティブを定義する
- イベント処理を伴うディレクティブ
- markedライブラリをラップする
- フィルターの自作
- フィルターの基本
- パラメーター付きのフィルターを定義する
- 複数のフィルターを連結する
- プラグインの利用と自作
- 検証プラグインの利用~ VeeValidate
- 典型的なUIを実装する~ Element
- プラグインの自作
- ミックスイン
- ミックスインの基本
- マージのルール
- グローバルミックスイン
- ディレクティブの自作
- Vue CLI
- Vue CLIの基本
- Vue CLIのインストール
- プロジェクトの自動生成
- Vue CLIの主なサブコマンド
- 単一ファイルコンポーネント
- 単一ファイルコンポーネントの基本
- ES20XXのモジュール
- コンポーネントのローカルスタイル~ Scoped CSS
- main.jsを読み解く
- TypeScript
- TypeScript の導入
- TypeScriptプロジェクトのフォルダー構造
- TypeScript形式のコンポーネント
- コンポーネントの主な構成要素
- Vue CLIの基本
- ルーティング
- ルーティングとは?
- Vue Routerの準備
- ルーティングの基本
- ルーティング情報の定義
- メインコンポーネント(App.vue)
- ルーター経由で情報を渡す手法
- パスの一部をパラメーターとして引き渡す~ルートパラメーター
- ルートパラメーターのさまざまな表現
- ルートパラメーターをプロパティとして受け渡す
- マルチビュー、入れ子のビュー、ガードなど
- 複数のビュー領域を設置する
- 入れ子のビューを設置する
- ルート遷移時に処理を差し挟む ~ ナビゲーションガード
- ルーターによるリンクの制御
- ルーティングにかかわるその他のテクニック
- ルーティングとは?
- Vuex
- Vuexとは?
- Vuexの準備
- Vuexの基本
- Vuexを利用したカウンターアプリ
- Vuexストアを構成する要素
- ステートの内容を加工&取得する~ゲッター
- ストアの状態を操作する~ミューテーション
- 非同期処理を実装する~アクション
- 巨大なストアを分割管理する~モジュール
- モジュールの定義
- モジュールへのアクセス
- 名前空間を分離する
- 名前空間付きモジュールから他のモジュールへアクセスする
- mapXxxxx関数によるストアのマッピング
- Vuexとは?
- テスト
- 単体テスト
- 単体テストの準備
- テストスクリプトの基本
- コンポーネントのテスト
- shallowMountメソッドとmountメソッド
- 算出プロパティのテスト
- イベントを伴うテスト
- カスタムイベントを伴うテスト
- E2Eテスト
- E2E テストの準備
- テストコードの基本
- E2Eテストの実行
- expectアサーション
- 単体テスト
- 応用アプリ
- アプリの構造を概観する
- ファイル関係図
- 利用しているサービス、ライブラリ
- アプリの共通機能を読み解く
- 起動スクリプト
- ルーティングの定義
- Vuex ストアの定義
- アプリの実装を理解する
- メインメニュー(メインコンポーネント)
- 書籍情報の表示
- レビュー情報の一覧表示
- Googleブックス経由での書籍検索
- レビュー登録フォーム
- アプリの構造を概観する
Vue.js&Nuxt.js超入門
出版社 | 秀和システム |
著者 | 掌田 津耶乃 |
発売日 | 2019/2/11 |
ページ数 | 465ページ |
Kindle版 | ◯ |
レビュー (Amazon) | (47件) |
いま、Web開発の現場では「サーバ側の処理をするバックエンドよりも、実際にユーザーとやり取りするフロントエンドこそが重要」と意識が変わりつつあります。
本書は、フロントエンドの開発において最も注目されているVue.jsと、それを更に拡張するフレームワークNuxt.jsの基本的な使い方を解説する入門書です。
Vue.jsでのアプリ作成手順から、Nuxt.js利用によるデータ管理、axiosによる外部サイトへのアクセスまでを順番に解説します。
- Vue.jsを使ってみよう
- Vue.jsのセットアップ
- フロントエンドの開発って?
- フレームワークってなに?
- Vue.jsってどんなもの?
- Vue.jsを利用するために必要なもの
- <script>タグ1つで使えるように!
- Vue.jsでメッセージを表示しよう
- Vue.js devtoolsを用意しよう
- 機能拡張の設定をする
- デベロッパーツールを開こう
- スタンドアロン版を使うには?
- スタンドアロン版を起動する
- より本格的なプロジェクト
- プロジェクトとしての開発
- Node.jsのインストール
- Vue CLIをインストールする
- プロトタイプを動かす
- プロジェクトを作ろう
- プロジェクトってなに?
- hello_appプロジェクトを作る
- プロジェクトを実行しよう
- プロジェクトの中身をチェック!
- プロジェクトをビルドする
- GUIツールを使おう!
- プロジェクトを作成してみる
- プロジェクトの内容
- プロジェクトを操作しよう
- この章のまとめ
- Vue.jsのセットアップ
- Vue.jsの基本をマスターしよう
- Vue.jsの基本的な仕組み
- 基本コードをチェックしよう
- Vueオブジェクトについて
- データの橋渡し
- Vueのデータは活きている!
- 入力テキストをリアルタイムに表示!
- {{}}は値だけじゃない!
- レンダリングをマスターする
- renderの使い方
- renderを使ってみる
- ソースコードをチェックしよう
- アロー関数は難しい!
- 引数の関数について
- 仮想DOMについて
- 属性を設定しよう
- 子ノードの組み込み
- 複雑なVNodeを作るには?
- テンプレート構文を覚えよう
- テンプレート構文とは
- v-htmlでHTMLを出力する
- v-htmlを使ってリストを増やそう
- 属性に値をバインドする
- オブジェクト構文について
- v-bind:classにオブジェクトを設定する
- スタイルとオブジェクト構文
- v-bind:styleにオブジェクトを指定する
- v-ifによる条件付きレンダリング
- 複雑な表示は<template>タグ!
- v-forによるリストレンダリング
- インデックス番号の取得
- オブジェクトをv-forする場合は?
- v-forとv-ifの併用
- この章のまとめ
- Vue.jsの基本的な仕組み
- コンポーネントを使おう
- コンポーネントの基本をマスター!
- コンポーネントってなに?
- コンポーネントの定義と利用
- helloコンポーネントを作ってみる!
- 変数をコンポーネントに渡す
- 属性の利用
- v属性を使いこなす
- v-bindで属性を設定する
- v-modelで値をバインド!
- v-onでイベントをバインドする
- イベント処理を別途用意する
- イベント処理とmethods
- 算術プロパティについて
- ローカルコンポーネント
- プロジェクトによる開発
- プロジェクトで開発しよう!
- main.jsの役割
- App.vueをチェックする
- index.htmlについて
- 結局、何がどうなってるの?
- HelloWorldコンポーネントを修正する
- App.vueを修正する
- v-onによるイベントの利用
- AppからHelloWorldに値を渡す
- 子コンポーネントから親コンポーネントへ!
- 計算アプリを作ろう
- Calcコンポーネントで計算!
- 作成するプログラムの内容
- Calc.vueを作成する
- Calcの構成
- Appコンポーネントの構成
- この章のまとめ
- コンポーネントの基本をマスター!
- コンポーネントを更に掘り下げる!
- プロパティを強化する
- Vue.jsを使いこなすには?
- プロパティのバリデーション
- より詳しいバリデーションを!
- 算出プロパティのGetter/Setter
- 監視プロパティについて
- イベントを掘り下げる
- イベントの修飾子について
- イベントの伝搬を考えよう
- イベントの流れを調べよう
- キーイベントについて
- キーイベントの修飾子について
- 機能キーの組み合わせ
- ボタンの修飾子
- テンプレートを考える
- 組み込まれる側の表示
- スロットを使おう
- 名前付きスロットを使う
- スロットに値を設定する
- renderメソッドを利用する
- JSXで書く!
- Vueオブジェクトで使う場合は?
- JSXに値を埋め込む
- トランジションとアニメーション
- トランジションで状態操作
- フェードイン/フェードアウト
- イベントを追加
- transformで動かす
- transformを試してみよう
- キーフレームによる複雑なアニメーション
- この章のまとめ
- プロパティを強化する
- Nuxt.jsにアップグレード!
- Nuxt.jsってなに?
- Vue.jsの弱点は?
- そこで、Nuxt.jsだ!
- 手作業でアプリを作ろう!
- ページを作る
- 本式にプロジェクトを作ろう
- プロジェクトのフォルダ構成をチェック!
- Nuxt.jsプロジェクトの基本
- デフォルトページはどうなってる?
- layouts/default.vueをチェック
- pages/index.vueをチェック
- コンテンツを書こう!
- 他のページも用意しよう
- パラメーターを利用する
- idとpassをパラメーターで渡す
- パラメーターのチェック
- Vuexによる状態管理
- コンポーネント間の値の管理
- 「store」フォルダにスクリプトを配置する
- ステートに値を保管する
- ストアの値を利用する
- ストアの値は変更できない?
- ミューテーションを使う
- counterを操作するミューテーション
- ミューテーションの引数指定
- typeを利用したオブジェクト引数
- アクションを利用する
- 値をずっと保持するには?
- vuex-persistedstateとモードについて
- Vuexでvuex-persistedstateを利用する
- メモアプリを作ろう!
- アプリ作成に挑戦!
- プロジェクトを作る
- store/memo.jsを作成する
- クラシックモードからモジュールモードへ!
- memoストアに用意するもの
- memo.vueを作成する
- memo.vueのテンプレートをチェック!
- memo.vueのスクリプトをチェック!
- この章のまとめ
- Nuxt.jsってなに?
- 外部サービスを利用しよう!
- axiosで外部サイトにアクセス!
- 「データ」の扱いはどうする?
- axiosでサイトにアクセスするには?
- 非同期処理ってなんだ?
- README.mdを表示する
- asyncDataについて
- JSONデータのサイトを活用しよう
- 自分で非同期通信するときは?
- 入力したIDのデータを表示する
- エラー対策はどうする?
- FirebaseとREST API
- データベースサービスを使おう!
- Firebaseってなに?
- プロジェクトを作ろう
- データベースを作ろう
- データベースにアクセスしよう
- Nuxt.jsからデータベースにアクセスする
- 特定のデータを表示しよう!
- Firebaseアクセスをマスターしよう
- インデックスを追記する
- キーによる検索を書き直す
- 年齢の範囲を指定して検索する
- データを追加しよう
- データの削除
- Firebaseのポイントは、アドレス!
- Firebase APIを活用しよう!
- ソーシャルログインが使える!
- Authenticationにアクセス!
- Firebase APIをインストールする
- Google認証の使い方
- Google認証を使ってみる
- ログイン状態でデータベースアクセスするには?
- ミニ伝言板を作ってFirebase APIをマスター!
- データベースのアクセス権を設定する
- board.vueを作成する
- Firebase APIを使う
- データを取得する
- この章のまとめ
- これから先はどうするの?
- axiosで外部サイトにアクセス!
- JavaScriptオブジェクト超入門
- JavaScriptの基本を超簡単おさらい!
- この章の目的は?
- 値と変数について
- 制御構文について
- 配列について
- 関数について
- アロー関数について
- オブジェクトをマスターしよう
- オブジェクトについて
- オブジェクトを使う
- メソッドについて
- コンストラクタ関数
- クラスを使おう
- スクリプトファイルの読み込み
- モジュールについて
- export defaultについて
- モジュールはVue.jsでは必須!
- Vue.jsのために必要な知識とは?
- JavaScriptの基本を超簡単おさらい!
Vue.jsのツボとコツがゼッタイにわかる本
出版社 | 秀和システム |
著者 | 中田 亨 |
発売日 | 2019/3/21 |
ページ数 | 319ページ |
Kindle版 | ◯ |
レビュー (Amazon) | (38件) |
いま学んでおきたいJavaScriptフレームワーク「Vue.js」のエッセンスを一冊に詰め込みました!
豊富なサンプルコードで試しながら理解できます!
Vue.js(ビュージェイエス)は、Webアプリのビュー(見た目)の部分に特化したシンプルなフレームワークです。既存のアプリに後乗せで導入したり、徐々に適用範囲を拡大したりすることが手軽に行えます。
シンプルな分、他のフレームワークと比べて学習コストが低く、HTMLとJavaScriptが一通りわかる人ならコードを理解するのも簡単です。
本書では、Vue.jsの中核である、ページを構成するUI部品「コンポーネント」をしっかりと解説し、さらには本格的なアプリ開発で必要となる要素までを網羅的に取り扱います。丁寧な解説でよくわかる、入門書の決定版です!
- Vue.jsとフレームワークの基礎
- Vue.jsとは?
- Vue.jsとは?
- フレームワークとは?
- なぜフレームワークを使うのか?
- Vue.jsの特徴
- Vue.jsを学ぶメリット
- UI構築はフロントエンドの役目になった
- DOMがウェブページとJavaScriptをつなぐ
- jQueryでは間に合わない
- データ駆動のVue.jsがDOM操作の問題を解決
- Vue.jsから利用できるUIコンポーネント
- Vue.jsの概要
- Vue.jsの機能
- リアクティブシステムとデータバインディング
- 条件付きレンダリング
- リストバインディング
- Vue.jsとは?
- Vue.jsをはじめよう!
- Vue.jsのインストール
- Vue.js本体を入手しよう
- Vue.jsをアプリケーションに読み込もう
- 基本のファイル構成
- 一般的なアプリケーションの設計モデル
- Vue.jsアプリケーションの設計モデル
- Vue.jsアプリケーションのファイル構成
- Vue.jsアプリケーションの雛形
- Vue.jsのオプション構成と役割
- オブジェクトとは?
- JavaScriptのオブジェクト表記
- Vueのオプション構成
- レンダリング(ページを描画する)
- テキストにバインドする
- 属性にバインドする
- スタイル(style)属性にバインドする
- クラス(class)属性にバインドする
- リストデータをバインドする
- 条件付きで描画する
- フィルター(描画用にデータを加工する)
- フィルターとは?
- グローバルスコープにフィルターを登録する
- ローカルスコープにフィルターを登録する
- 複数のフィルターをつなげる
- 算出プロパティ(再利用可能な加工済みデータ)
- 算出プロパティとは?
- 算出プロパティはキャッシュされる
- イベントハンドリング(ユーザーの操作を検知する)
- イベントとは?
- よく使われるイベント
- イベントハンドラの登録(v-onディレクティブ)
- コンポーネントの外側のイベントハンドリング
- イベントハンドラが受け取る引数
- ウォッチャ(データの変更を監視する)
- ウォッチャとは?
- ウォッチャの登録(watchオプション)
- 算出プロパティとウォッチャの使い分け
- ウォッチャで算出プロパティを監視する
- フォーム入力バインディング(データと入力を同期する)
- 双方向のデータバインド
- テキストボックス(改行できない入力欄)
- テキストエリア(改行できる入力欄)
- チェックボックス
- ラジオボタン(2つ以上の選択肢から1つを選ぶ)
- セレクトボックス(プルダウン方式の選択肢)
- カレンダー(日付の選択)
- 応用例1(日付の選択範囲を制限する)
- 応用例2(レンジ入力とカラー選択を同期する)
- 制御をサポートする3つの修飾子
- トランジション(表示の切り替えを滑らかにする)
- トランジションとは?
- CSSトランジション
- Vue.jsのインストール
- Vue.jsで商品一覧を描画してみよう!
- 商品一覧ページの仕様
- 初期表示
- 機能詳細
- モックアップの作成
- HTMLとCSSで静的なページを作成する
- JavaScriptで絞り込み機能を作成する
- JavaScriptで並び替え機能を作成する
- 商品データをアプリケーションに結び付ける
- Vue.jsを組み込む準備
- dataオプションにデータを定義する
- 構文エラーがないか確認する
- 商品データを描画する
- 出力するHTMLのパターン
- テンプレート構文で置き換える
- うまくいかない例
- 金額の書式と商品名の改行
- ユーザーの入力に応じて表示を切り替える
- フォームコントロールにデータバインドする
- 絞り込み機能を実装する
- 並び替え機能を実装する
- 商品にキー(key)を指定する
- 商品一覧ページの仕様
- Ajaxで商品データを外部ファイルから読み込もう!
- AjaxとJSON形式
- Ajaxとは?
- JSONとは?
- JavaScriptでAjaxを利用する
- JSONデータを準備する
- イベントハンドラを作成する
- XMLHttpRequestオブジェクトの使い方
- クロスドメイン制約への対応
- レスポンスを処理する
- jQueryでAjaxを利用する
- jQueryとは?
- イベントハンドラを作成する
- JSONを取得する
- レスポンスを処理する
- JSONPでクロスドメイン制約を回避する
- JSONPとは?
- JSONPをAjaxで非同期に読み込む
- Vue.jsアプリケーションでAjaxを利用する
- 商品リストをAjaxで読み込む
- 通信エラー発生時の処理を追加する
- AjaxとJSON形式
- Vue.jsで自動見積フォームを作ってみよう!
- 自動見積フォームの仕様
- フォームの仕様
- モックアップの作成
- HTMLとCSSで静的なページを作成する
- JavaScriptで自動計算処理を実装する
- フォームのプログラムにVue.jsを適用する(JavaScript)
- Vue.jsを組み込む準備
- dataオプションにプロパティを追加する
- 算出プロパティを追加する
- プロパティの初期値を設定する
- フィルターを追加する
- フォームのテンプレートにVue.jsを適用する(HTML)
- 基本料金のデータバインド
- オプション料金のデータバインド
- 合計金額のデータバインド
- コンポーネントの動作確認
- テンプレートが一瞬見えてしまうのはなぜ?
- 自動見積フォームの仕様
- Vue.jsのコンポーネントをモジュール化してみよう!
- コンポーネントの基本
- コンポーネントの定義方法
- データの受け渡し(親コンポーネントから子コンポーネント)
- データの受け渡し(子コンポーネントから親コンポーネント)
- コンポーネントのイベントハンドリング
- コンポーネントを繰り返し描画する(v-for)
- コンポーネントの配置場所に関する制限
- 商品一覧をコンポーネント化する
- コンポーネントの親子関係を決める
- モジュールを分割する
- データの持たせ方を決める
- コンポーネントの動作仕様を決める
- ルートコンポーネントの作成
- フィルターの作成
- 商品コンポーネントの作成
- ヘッダーコンポーネントの作成
- 商品一覧コンポーネントの作成
- コンポーネントの完成
- 単一ファイルコンポーネントとは?
- 単一ファイルコンポーネントの例
- export defaultとは?
- scopedとは?
- 開発環境「Vue CLI」を導入する
- Vue CLIとは?
- 開発環境(Vue CLI)の導入
- Vue CLIの基本的な使い方
- デフォルトプリセットで作成したプロジェクトのモジュール構成
- 商品一覧を単一ファイルコンポーネントで再構築する
- 新規プロジェクトの作成
- モジュール構成の決定
- モジュールの作成
- アプリケーションを運用環境で公開する
- コンポーネントの基本
- Column
- ブラウザのコンソールをデバッグに活用しよう!
- 仮想DOM とは?
- 「this」が何を指すかはスコープによって変わる
- PHPでデータベースからJSONを動的に生成する
- Bootstrap Vueを利用してUIの作成を効率化しよう
- コンポーネント間でデータを共有する
Vue.js3超入門
出版社 | 秀和システム |
著者 | 掌田 津耶乃 |
発売日 | 2020/12/19 |
ページ数 | 522ページ |
Kindle版 | ◯ |
レビュー (Amazon) | (23件) |
本書はVue.jsの入門者向け書籍で「Vue.js&Nuxt.js超入門」の改訂版となります。新たにVue3に対応し、内容は前の版から大幅に書き直しています。
また初心者向けであることを踏まえ、引き続きJavaScriptベースで説明を行います。対象読者はJavaScriptの入門書を読み終えた層で、Vue.jsの経験がない層です。既存の入門書などで挫折した人でもついていけるように、手取り足取り教える内容です。
- Vueを使ってみよう!
- Vue3のセットアップ
- フロントエンドの開発って?
- フレームワークってなに?
- Vue3ってどんなもの?
- Vue ver.2とVue3は別のもの!
- Vue3を利用するために必要なもの
- <script>タグ1つで使えるように!
- Vue3でメッセージを表示しよう
- Vue.js devtoolsを用意しよう
- 機能拡張の設定をする
- デベロッパーツールを開こう
- スタンドアロン版について
- より本格的なプロジェクト
- プロジェクトとしての開発
- Node.jsのインストール
- Vue CLIをインストールする
- プロトタイプを動かす
- プロジェクトを作ろう
- プロジェクトってなに?
- hello_appプロジェクトを作る
- プロジェクトを実行しよう
- プロジェクトの中身をチェック!
- プロジェクトをビルドする
- もう1つのプロジェクト生成ツール「Vite」
- GUIツールを使おう!
- プロジェクトを作成してみる
- プロジェクトの内容
- プロジェクトを操作しよう
- 開発ツールについて
- Visual Studio Codeのインストール
- Visual Studio Codeでプロジェクトを開く
- この章のまとめ
- Vue3のセットアップ
- Vue3の基本をマスターしよう!
- Vue3の基本的な仕組み
- 基本コードをチェックしよう
- Vue3の基本コードについて
- データの橋渡し
- Vue3のデータは活きている!
- mountedについて
- アロー関数について
- タイマーを停止する
- createdで初期化する
- 必要なものはすべて内部に用意する!
- {{}}は値だけじゃない!
- 要素と表示を考える
- HTML要素を出力する
- JavaScriptエクスプレッション
- mapによる繰り返し処理
- スタイルとBootstrap
- Bootstrapの基本的なクラス
- コンテンツの表示デザインに関するクラス
- v属性を活用しよう
- v属性について
- 属性に値をバインドする
- オブジェクト構文について
- v-bind:classにオブジェクトを設定する
- スタイルとオブジェクト構文
- v-bind:styleにオブジェクトを指定する
- v-ifによる条件付きレンダリング
- 複雑な表示は<template>タグ!
- v-forによるリストレンダリング
- インデックス番号の取得
- オブジェクトをv-forする場合は?
- v-forとv-ifを組み合わせる
- この章のまとめ
- Vue3の基本的な仕組み
- コンポーネントを使おう!
- コンポーネントの基本をマスター!
- コンポーネントってなに?
- コンポーネントの定義と利用
- helloコンポーネントを作ってみる!
- 変数をコンポーネントに渡す
- 属性の利用
- v属性を使いこなす
- v-bindで属性を設定する
- v-modelで値をバインド!
- v-onでイベントをバインドする
- イベント処理を別途用意する
- イベント処理とmethods
- 算術プロパティについて
- ローカルコンポーネント
- プロジェクトによる開発
- プロジェクトで開発しよう!
- main.jsの役割
- App.vueをチェックする
- index.htmlについて
- 結局、何がどうなってるの?
- index.htmlを修正する
- HelloWorldコンポーネントを修正する
- App.vueを修正する
- v-onによるイベントの利用
- AppからHelloWorldに値を渡す
- 子コンポーネントから親コンポーネントへ!
- テンプレート参照について
- テンプレート参照を使う
- 計算アプリケーションを作ろう
- Calcコンポーネントで計算!
- 作成するプログラムの内容
- Calc.vueを作成する
- Calcの構成
- Appコンポーネントを作る
- Appコンポーネントの構成
- この章のまとめ
- コンポーネントの基本をマスター!
- コンポーネントを更に掘り下げる!
- レンダリングとJSX
- Vue3を使いこなすには?
- renderによる描画
- renderでHTMLを出力できる?
- h関数を利用する
- JSXについて
- propsを使う
- 属性の指定
- プロパティを強化する
- プロパティのバリデーション
- より詳しいバリデーションを!
- 算出プロパティのGetter/Setter
- ウォッチャについて
- イベントを掘り下げる
- イベントの修飾子について
- イベントの伝搬を考えよう
- イベントの流れを調べよう
- キーイベントについて
- キーイベントの修飾子について
- 機能キーの組み合わせ
- ボタンの修飾子
- スロットを使いこなす
- 組み込まれる側の表示
- スロットを使おう
- 名前付きスロットを使う
- スロットに値を設定する
- トランジションとアニメーション
- トランジションで状態操作
- フェードイン/フェードアウト
- イベントを追加
- transformで動かす
- transformを試してみよう
- キーフレームによる複雑なアニメーション
- この章のまとめ
- レンダリングとJSX
- Vue3を更にパワーアップしよう!
- Composition APIを使おう
- コンポーネントは複雑すぎる!
- コンポーネントを作ってみよう
- JSXでも使えるの?
- dataはダメ! refを使え!
- refで値を表示する
- refによる参照の利用
- refとreactive
- メソッドの利用
- setupのcontextについて
- 従来方式か、Composition APIか?
- Vue Routerによるルーティング管理
- 複数ページを管理するには?
- Vue Routerについて
- 2つのコンポーネントを用意する
- router.jsの作成
- routerを利用する
- Appを作成する
- ページはリロードされているか?
- 名前付きビューの利用
- パラメータの利用
- :toの指定について
- Vuexによる状態管理
- コンポーネント間の値の管理
- Vuexを用意する
- Vuexの基本を理解する
- store.jsにスクリプトを記述する
- ステートに値を保管する
- storeをアプリケーションに組み込む
- ストアの値を利用する
- ミューテーションを使う
- counterを操作するミューテーション
- ミューテーションの引数指定
- typeを利用したオブジェクト引数
- アクションを利用する
- vuex-persistedstateを利用する
- Vuexでvuex-persistedstateを利用する
- メモアプリを作ろう!
- アプリケーション作成に挑戦!
- プロジェクトを作る
- index.htmlの作成
- main.jsとApp.vueの作成
- store.jsの作成
- Memo.vueの作成
- Memo.vueのテンプレートをチェック!
- Memo.vueのスクリプトをチェック!
- 算術プロパティについて
- onMountedも忘れずに!
- Composition API利用の注意事項
- この章のまとめ
- Composition APIを使おう
- 外部サービスを利用しよう!
- axiosで外部サイトにアクセス!
- 「データ」の扱いを考えよう
- axiosでサイトにアクセスするには?
- 同期処理と非同期処理
- テキストファイルを表示する
- コンポーネントをチェックする
- onMountedについて
- axiosを非同期処理で実行するには?
- JSONデータのサイトを活用しよう
- 入力したIDのデータを表示する
- エラー対策はどうする?
- ネットワークアクセスの限界
- FirebaseとREST API
- データベースサービスを使おう!
- Firebaseってなに?
- Firebaseプロジェクトを作ろう
- プロジェクトのオーバービュー
- データベースを作ろう
- personデータを作成する
- データベースにアクセスしよう
- axiosでデータベースにアクセスする
- 特定のデータを表示しよう!
- Realtime Databaseをマスターしよう
- インデックスを追記する
- キーによる検索を書き直す
- 年齢の範囲を指定して検索する
- データを追加しよう
- データの削除
- Realtime Databaseのポイントは、アドレス!
- Firebase SDKを活用しよう!
- Firebase SDKとは?
- プロジェクトにWebアプリケーションを追加する
- CDNによるFirebase SDKの利用
- Firebaseの初期化とfirebaseConfig
- personデータを表示する
- npmでFirebase SDKを利用する
- ソーシャル認証を使おう!
- Authenticationにアクセス!
- Google認証の手順
- Google認証を使ってみる
- ログイン状態でデータベースアクセスするには?
- データベースのアクセス権を設定する
- ログインするとデータベースを表示する
- ミニ伝言板を作ろう
- ミニ伝言板を作ってFirebaseをマスター!
- Viteでアプリケーションを作る
- Board.vueを作成する
- Firebase SDK利用のポイント
- この章のまとめ
- これから先はどうするの?
- axiosで外部サイトにアクセス!
- JavaScript超入門!
- JavaScriptの基本を超簡単おさらい!
- この章の目的は?
- 値と変数について
- 文の書き方
- 制御構文について
- 配列について
- 関数について
- アロー関数について
- オブジェクトをマスターしよう
- オブジェクトについて
- オブジェクトを使う
- メソッドについて
- クラスを使おう
- Vue3のために必要な知識とは?
- JavaScriptの基本を超簡単おさらい!
みんなのVue.js
出版社 | 技術評論社 |
著者 | 野田 陽平 / 門脇 恒平 |
発売日 | 2021/2/16 |
ページ数 | 378ページ |
Kindle版 | ◯ |
レビュー (Amazon) | (19件) |
本書は、日本国内で爆発的な人気を誇るVue.jsの最新ノウハウ・アイデアを1つにまとめた新しい「Vue本」です。
アプリケーション開発のためのルーティング・レンダリングから、CSS設計、状態管理、コンポーネント開発、パフォーマンス改善まで、Vue.jsをプロジェクトで使用するうえのさまざまな開発上の観点をまとめつつ、現場のエンジニアによる解決方法をまとめています。
さらに、Vue.jsコアチームメンバーでもある川口和也(@kazu_pon)氏のインタビューを収録。川口氏が開発するVue18nや、企業に所属しながらのOSS活動についてもたっぷりと語っていただきました。Vue.jsエンジニア必携の1冊です。
- 大規模なアプリケーションにも耐えられるルーティングとレンダリング
- パフォーマンスの指標を知る
- ルーティング
- Vue Routerでのコード分割と遅延ローディング
- ルーティングと権限管理
- SSRとCSR
- SSRの実装
- SSRと権限管理
- Nuxt.jsでSSRを実装する
- アプリケーションの構成を考える
- 静的なコンテンツ中心のサービスの場合
- 静的なコンテンツ中心だが権限管理を詳細におこないたいサービスの場合
- さまざまなデータを扱う動的なサービスの場合
- そこまで大量のデータを扱うことは考えていないが,何らかの理由でNuxt.jsの採用はできない場合
- 状態管理パターン
- 状態管理とアプリケーションの構成要素
- 状態管理とは
- アプリケーションの構成要素
- 状態データと派生データ
- Vue.jsにおける状態管理
- コンポーネントとは
- コンポーネントの状態データ
- コンポーネントの派生データ
- コンポーネントと状態のスコープ
- コンポーネント間でのデータ通信
- 兄弟コンポーネント間でのデータ共有
- Vue.jsコンポーネントのみを使った状態管理
- 状態とコンポーネントの関係性がシンプルになる
- コンポーネントの依存関係の明確化
- SFC(Single File Component)による利点の最大化
- アプリケーションの成長とコンポーネントのみを使った状態管理の課題
- propsとeventによるデータの過剰なバケツリレー
- アプリケーション全体の状態管理状況を把握しづらくなる
- ストアを利用した状態管理
- ストアによる状態管理の考え方
- Vuexを利用した状態管理
- Vuexにおける状態管理パターン
- 単一ステートツリー
- すべてのコンポーネントのための集中型のストア
- Composition API
- Vuexを利用した状態管理の実装例
- Vuexを利用するメリット
- Vuexを利用する際の注意点
- Storeパターンを自前で実装する
- Storeパターン実装例
- Storeパターンを自前で実装するメリット
- Storeパターンを自前で実装する際の注意点
- 状態管理における心構え
- 状態の量を必要最小限に保つ
- 状態への副作用を持つコードを小さくする
- 状態のスコープを小さく保つ
- 状態を重複して持たない
- 暗黙的な状態の変更を避ける
- 状態管理とアプリケーションの構成要素
- UIコンポーネントの開発
- コンポーネント指向開発への流れ
- コンポーネント指向のフレームワークの登場
- UIコンポーネント開発の変遷
- コンポーネント駆動開発
- コンポーネント駆動開発を支えるツール
- COLUMN 共通コンポーネントを作成するタイミング
- Vue.jsにおけるコンポーネント開発
- 疎結合なコンポーネントにする
- propsのバリデーション
- propsかslotか
- Vueコンポーネントの利用
- Vue 3.0で登場した新機能
- Fragments
- Teleport
- SFC State-driven CSS Variables(Experimental Features)
- コンポーネント指向開発への流れ
- Vue.jsにおけるCSS設計
- CSSのスコープ
- Scoped CSS推奨への流れ
- Scoped CSSのしくみ
- Scoped CSSの特徴
- VueコンポーネントにおけるCSSの命名ルール
- BEM Likeなクラス名のルール
- BEM Likeな命名ルールのメリット
- 要素セレクタを利用しない
- CSSの全体設計
- 定義ファイル
- サイト全体の共通スタイル
- ページ/コンポーネント固有のスタイル
- 余白のコントロール
- CSSのスコープ
- 品質を高める
- 代表的なテスト手法と適切な選択
- 静的解析
- 単体テスト
- 結合テスト
- E2Eテスト
- テスト手法の選定のポイント
- 静的解析を導入する
- TypeScriptを利用する
- ESLintを利用する
- 単体テストを実施する
- Vue CLIによる導入
- 生成されたコードの確認
- ミニマムガイド
- 「実装」ではなく「振る舞い」のテストをしよう
- 結合テストを実施する
- 単体テストと結合テストの違い
- Vue Testing Library
- End-to-End Test(E2Eテスト)
- Vue CLIによる導入
- 生成された設定の確認
- マークアップやデザインに依存したテストを書かない
- Vue 3への対応
- 代表的なテスト手法と適切な選択
- パフォーマンスを改善する
- ユーザー体験の質を向上させることを目的にしよう
- パフォーマンスの状況を把握する
- パフォーマンスを計測する
- 何を計測するか
- どう計測するか
- パフォーマンス計測の事例
- パフォーマンスを改善する
- 何から改善するか
- JavaScriptのファイルサイズを小さくする
- メインスレッドを占有しない
- 継続的に高いパフォーマンスを維持するために
- Vue 3のパフォーマンス関連トピック
- アプリケーションの提供範囲を広げる
- サービスの価値をより多くのユーザーに届けるために
- 国際化(i18n,Internationalization)とVueI18n
- 国際化(i18n; Internationalization)の目的
- 継続的な翻訳を目指すために
- Vue.jsにおけるi18n対応の基本
- リソースの持ち方
- Vue I18nの使い方
- Vue I18nのインストールとwebpackの設定
- Vue I18nを便利にするエコシステム
- Vue I18nの具体的な使用方法
- i18n対応が複雑になるケースに対応する
- storeには文言を持たずに,リソースのキーのみを持つ
- 文言を含んだmixinの多用を避ける
- 語順に依存するUIの多用を避ける
- 翻訳フローをつくる
- 継続的翻訳フローに必要な観点
- 具体例からフローを考えてみる
- i18nに関する参考資料
- アクセシビリティ(a11y; Accessibility)
- アクセシビリティとそのガイドライン
- JIS X 8341・WCAG
- Webにおけるアクセシビリティの考慮点
- Vue.jsにおけるアクセシビリティ
- 実装上におけるアクセシビリティの観点
- アクセシビリティ対応状況の可視化
- Vue.jsのアクセシビリティ対応に関する現状
- アクセシビリティに関する参考情報
- 川口和也氏に聞く「エコシステムの活用と貢献」〜特別インタビュー
- Vue I18nを開発したきっかけ
- 登場したてのVue.jsに惚れた理由は?
- Vue I18nを開発したときの困ったこと・障壁
- OSSを開発する2つの意義
- 「KARTE」に自分の開発したOSSを入れるときの苦労とは
- 開発フローと翻訳フローを両立するむずかしさ
- OSSとプロダクトを並行して開発する難しさ
- 自作のOSS導入のススメ
- 今後のVue I18nと新しいOSSへの展望
- 最後に
改訂2版 基礎から学ぶVue.js
出版社 | シーアンドアール研究所 |
著者 | mio |
発売日 | 2020/9/16 |
ページ数 | 328ページ |
Kindle版 | ◯ |
レビュー (Amazon) | (18件) |
Vue.js 2.6に対応して改訂しました。Vue CLI4にも対応しています。
本書ではVue.jの基礎概念と導入から、プロダクトに役立つ情報までを体系的に解説しています。
Vue.jsの入門書として最適な1冊です。
- Vue.jsとフレームワークの基礎知識
- Vue.jsについて
- 実際にVue.jsを採用した現場の声
- なぜVue.jsなのか?
- フレームワークとは?
- Vue.jsのキーコンセプト
- 親しみやすいテンプレート
- データバインディング
- 「v-」からはじまるディレクティブ
- コンポーネント指向の画面構築
- 豊富なリソースを活用しよう
- Element
- Onsen UI
- Vue.jsのインストール
- vue.jsファイルを読み込む
- 学習用のファイル
- Vueアプリケーションの作成
- Vue.jsの基本機能
- テキストのバインディング
- 繰り返しの描画
- イベントの利用
- フォーム入力との同期
- 条件分岐
- トランジション&アニメーション
- オプションの構成を見てみよう
- 基本的なオプションの構成
- el・マウントする要素
- data・データ
- computed・算出プロパティ
- created・ライフサイクルフック
- methods・メソッド
- いつ、どこに、「new Vue()」したらよいの?
- まとめ
- Vue.jsについて
- データの登録と更新
- 基本のデータバインディング
- リアクティブデータって何?
- リアクティブなデータの定義
- テキストと属性のデータバインディング
- テキストのデータバインディング
- 属性のデータバインディング
- データの内容の確認
- データの更新
- クリックでカウンターを増やそう
- thisは今、何を指している?
- クラスとスタイルのデータバインディング
- 複数の属性のデータバインディング
- SVGのデータバインディング
- よくわからないけどエラーが起きた!
- テンプレートにおける条件分岐
- v-ifとv-showの違いと使い分け方
- <template>タグによるv-ifグループ化
- v-else-ifおよびv-elseによるグループ化
- リストデータの表示と更新
- 要素を繰り返し描画する
- オブジェクトが処理される順序
- キーの役割
- 不変でユニークなキーを設定しよう
- 繰り返し描画しながら、さまざまな条件を適用する
- リストの更新
- 配列インデックスを使って操作してはいけないケース
- Vue.setについて
- ユニークキーを持たない配列
- オプションにデータを持たないv-for
- 文字列に対するv-for
- 外部からデータを取得する
- DOMを直接参照する$elと$refs
- $elの使い方
- $refsの使い方
- $elや$refsは一時的な変更!
- テンプレート制御ディレクティブ
- v-pre
- v-once
- v-text
- v-html
- 「v-html」「テンプレート」は信頼できるコンテンツに
- v-cloak
- 仮想DOMって何?
- まとめ
- 基本のデータバインディング
- イベントとフォーム入力の受け取り
- イベントハンドリング
- メソッドイベントハンドラ
- インラインメソッドハンドラ
- 使用可能なイベント
- フォーム入力の取得
- イベント修飾子
- キー修飾子
- システム修飾子
- フォーム入力バインディング
- v-modelの使い方
- Vue.jsの双方向データバインディング
- v-modelで受け取るデータの型
- v-modelを使うときは属性の値は使われない
- 複数行テキスト
- チェックボックス
- ラジオボタン
- セレクトボックス
- 画像ファイル
- その他の入力タイプ
- 修飾子
- マウント要素外のイベントと操作
- スクロールイベントの取得
- スムーススクロールの実装
- Vue.js以外からのイベントの受け取り
- まとめ
- イベントハンドリング
- データの監視と加工
- 算出プロパティで処理を含むデータを作成する
- 算出プロパティの使い方
- 算出プロパティを組み合わせて使用しよう
- ゲッターとセッター
- 算出プロパティのキャッシュ機能
- リストの絞り込みに利用しよう
- ソート機能を追加しよう
- ウォッチャでデータを監視して処理を自動化する
- ウォッチャの使い方
- 一度だけ動作するウォッチャ
- 実行頻度の制御
- 複数の値を監視する
- オブジェクト型の古い値との比較方法
- フォームを監視してAPIからデータを取得しよう
- フィルタでテキストの変換処理を行う
- フィルタの使い方
- フィルタに引数を持たせる
- 複数のフィルタをつなげて使用する
- カスタムディレクティブでデータを監視しながらDOMを操作する
- カスタムディレクティブの使い方
- 使用可能なフック
- 動画の再生を操作する例
- 前の状態と比較して処理を行う
- nextTickで更新後のDOMにアクセスする
- nextTickの使い方
- 更新後のDOMの高さを取得しよう
- まとめ
- 算出プロパティで処理を含むデータを作成する
- コンポーネントでUI部品を作る
- コンポーネントとは
- コンポーネントは設計図
- コンポーネントの再利用
- コンポーネントの定義方法
- コンポーネントの登録
- コンポーネントを定義するタイミング
- コンポーネントのオプション
- コンポーネントインスタンス
- コンポーネント間の通信
- 親子コンポーネント
- 親子間のデータフロー
- 親から子
- 子から親
- $emitで渡したデータの変化
- 非親子コンポーネント
- 子コンポーネントを参照する「$refs」
- コンポーネントの属性のスコープ
- スロットを使ったコンポーネントのカスタマイズ
- デフォルトスロット
- 名前付きスロット
- スコープ付きスロット
- コンポーネントの双方向データバインディング
- コンポーネントのv-model
- .syncによる双方向データバインディング
- テンプレートの定義方法
- テンプレートの種類
- テンプレートがDOMと認識されるケース
- その他の機能やオプション
- 関数型コンポーネント
- 動的コンポーネント
- 共通処理を登録するMixin
- コンポーネントのライフサイクル
- keep-aliveで状態を維持する
- コンポーネントの依存について
- まとめ
- コンポーネントとは
- トランジションとアニメーション
- トランジションとは
- 動作デモについて
- 基本的なトランジションの使い方
- スタイルを定義して動かしてみよう
- トランジションクラス名とクラスのプレフィックス
- 初期描画時にもトランジションを行う
- 単一要素トランジション
- 単一要素トランジションで使用するトランジションクラス
- EnterとLeaveで別々のスタイルを定義する
- 複数の要素をグループ化する
- EnterとLeaveのタイミングを変更する
- キーの変化によるトランジションの発動
- リストトランジション
- リストトランジションで使用するトランジションクラス
- 移動トランジション
- LeaveとMoveは同時に発生することがある
- SVGのトランジション
- SVGをトランジションで切り替えよう
- トランジションフック
- 使用できるトランジションフック
- Vue.js側でCSS操作を行わないようにする
- まとめ
- トランジションとは
- より大規模なアプリケーション開発
- アプリケーションを拡張しよう
- Vue CLIとは
- ソースコードを分けて管理
- webpackとは
- よりメンテナンスしやすいコードを書くために
- 単一ファイルコンポーネントとは
- スコープ付きCSS(Scoped CSS)
- 外部ファイルの読み込み
- 他のマークアップ言語やスタイルシート言語の使用
- 本書におけるコーディングスタイル
- ES2015モジュールの書き方
- モジュールを定義する
- モジュールを使用する
- 単一ファイルコンポーネントの正体
- Node.jsの導入
- npmとは
- Babelとは
- Vue CLIの導入
- 新しいプロジェクトの作成
- フォルダとファイルの構成
- 開発サーバーを起動する
- ホットリロード
- プロジェクトをビルドする
- Vue.jsプラグイン
- Vue.jsプラグインの使い方
- プラグインを自作してみよう
- ES2015で書いてみよう
- 変数宣言の書き方
- 関数とメソッドの書き方
- テンプレートリテラル
- オブジェクトプロパティのショートハンド
- 分割代入
- スプレッド演算子
- 配列メソッド
- Promise
- まとめ
- Vuexでアプリケーションの状態を管理する
- Vuexとは
- Vuexを導入するメリット
- Vuexのインストール
- シンプルなストア構造
- ストアをVueアプリケーションに登録する
- Vuex内のインスタンスの参照方法
- コアコンセプト
- ステート(state)
- ゲッター(getter)
- ミューテーション(mutations)
- アクション(actions)
- Vuexのルール
- アクションで非同期処理をするのはなぜ?
- コンポーネントでストアを利用しよう
- メッセージを使用する
- メッセージを更新する
- Vuexは初期段階で検討しよう
- ステートやゲッターにv-modelを使用する
- コンポーネントとストアをバインドするヘルパー
- モジュールで大きくなったストアを分割する
- モジュールの使い方
- 同一のミューテーションタイプ
- ネームスペース
- モジュールのネスト
- ネームスペース付きモジュールから外部へのアクセス
- モジュールをファイルごとに分ける
- モジュールの再利用
- その他の機能やオプション
- ストアの状態を監視する
- Strictモードで開発する
- Vuexでホットリロードで開発する
- コンポーネントとどう切り分けたらよい?
- まとめ
- Vue RouterでSPAを構築する
- Vue Routerとは
- シングルページアプリケーション
- Vue Routerのインストール
- 組み込みコンポーネント
- シンプルなSPA構造
- URLにハッシュを付けない
- ルーティング用プロパティ
- ルートの定義とオプション
- 名前付きのルート
- パラメータ
- クエリー
- メタフィールド
- リダイレクト
- ナビゲーションの作成
- テンプレートによるナビゲーション
- プログラムによるナビゲーション
- パラメータ付きの動的ルートからコンテンツを作成しよう
- ページコンポーネントの構成
- パターンマッチのルーティング
- パラメータをpropsとしてコンポーネントに渡す
- コンテンツを表示する
- ネストされた複雑なページを作成しよう
- ネストされたルートの定義
- データの共有にはVuexを使用する
- 親ルート用コンポーネントの定義
- ナビゲーションガード
- ナビゲーションガードの引数
- ナビゲーションガードのトリガについて
- ルート単位のガード
- グローバルのガード
- コンポーネントのガード
- 完全なナビゲーション解決フロー
- ページの遷移にエフェクトを適用する
- 簡単なトランジション
- 非同期読み込みを含むトランジション
- その他の機能やオプション
- 遷移前のデータの読み込み
- コンポーネントの非同期読み込み
- ルートのアクセス制限
- ソースコードに大事な情報を書かない
- スクロールの振る舞いを操作する
- SPAの注意点
- まとめ
- Vue Routerとは
- Vuexとは
いちばんやさしい Vue.js 入門教室
出版社 | ソーテック社 |
著者 | 大津 真 |
発売日 | 2019/4/3 |
ページ数 | 354ページ |
Kindle版 | ◯ |
レビュー (Amazon) | (5件) |
人気のJavaScriptフレームワーク「Vue.js」を初歩から学べる、いちばんやさしい入門書!
制御構造やイベント処理などの基本から、コンポーネントの利用、Web APIを使用したアプリ作成、
さらに大規模Vueアプリケーションを効率的に開発するためのVue CLI 3(Node.jsのモジュール)を使った開発まで網羅的に解説します!
- Vue.jsってどんなフレームワーク?
- Vue.jsの世界へようこそ
- Vueアプリケーションの開発に必要なものは
- 操作しながらVueアプリの動きを見てみよう
- 「CDN」とは
- オブジェクトリテラル
- マウスのクリックやユーザーの入力を処理しよう
- Vueアプリケーションのデバッグに便利な「Vue.js Devtools」
- いろいろなデータバインディング
- HTMLコンテンツにデータをバインドする
- HTMLの属性をバインドする
- スタイルとクラスのバインド
- キャメルケースとケバブケース
- 処理した値を戻す算出プロパティ
- 条件分岐と繰り返し
- v-if、v-showディレクティブで
- 要素をオン/オフする
- v-forで繰り返し
- v-if、v-showディレクティブで
- フォームのいろいろな要素の取り扱い
- v-onディレクティブでイベントを処理する
- v-modelディレクティブを活用しよう
- v-onとv-bindでv-modelと同様の動作をさせる
- todoリストを作ろう
- デベロッパーツールでローカルストレージを確認する
- ライフサイクル関数
- お絵かきアプリを作ろう
- フィルタ、アニメーション、コンポーネントを使う
- フィルタ機能を利用する
- アニメーション機能を活用する
- カスタムコンポーネントを活用する
- Vue.js Devtoolsによるカスタムイベントの確認
- ローカル登録のコンポーネントを入れ子にする場合の注意点
- スライドショーを作ろう
- Web APIを使用したアプリの作成
- axiosライブラリによるAjax通信について
- YouTube動画検索アプリの作成
- GitHubについて
- Vue CLI 3によるアプリケーション開発
- Vue CLI 3を使ってみよう
- 既存アプリのシングルファイルコンポーネント化
- Vue RouterとVuexを使ってみよう
プロフェッショナルWebプログラミング Vue.js
出版社 | ソーテック社 |
著者 | 山田 典明 / 長澤 賢 / 関口 勇樹 |
発売日 | 2020/11/11 |
ページ数 | 418ページ |
Kindle版 | ◯ |
レビュー (Amazon) | (25件) |
いまのWebアプリケーションの構築には、フレームワークの採用が当たり前になっています。なかでもVue.jsはUIの構築に特化した機能を備えており、既存のWebサイト等にも段階的に取り入れやすい設計になっています。本書は、HTML・CSS・JavaScriptの基本的な知識をもっている方向けに、いま学んでおくべきVue.jsの基本を解説していきます。
本書は3部構成に分かれています。“基本”のパートでは、ToDoアプリケーションを作成しながら、Vue.jsの基礎をじっくりと身につけていきます。次の“実践”のパートでは、モーダルやカルーセル、リスト抽出にクイズコンテンツと、よくあるUIや機能を実際にVue.jsでWebサイトへ組み込む方法を解説。最後のパートとなる“最前線”では、Nuxt.jsとHeadless CMSを利用したJamstackによるサイト構築の最新ワークフローを身につけます。
Vue 3.xに対応しており、掲載コードはダウンロードできます。実際に手を動かしながら現場でのVue.jsの使い方が身につく、これから本格的に学びたい人に最適の1冊です。
- Vue.jsの基本を学ぶ
- Vue.jsとは?
- なぜVue.jsが求められているのか
- Vue.jsのインストール方法
- Vue.js devtoolsのインストール方法
- Vue3について
- ToDoアプリで基本を学ぶ① Vue.jsの第一歩
- 作成するToDoアプリケーションの機能
- Vueインスタンスの作成とマウント
- dataで状態を定義する
- テンプレート構文でデータを表示
- ライフサイクルとは
- ToDoアプリで基本を学ぶ② v-modelでフォームの使い勝手を向上
- テキストボックスを操作する
- チェックボックスを設定する
- セレクトボックスを設定する
- 修飾子を使用して動作を変更
- ToDoアプリで基本を学ぶ③ フォームの操作
- computedでデータを表示
- methodsでメソッドを定義
- v-onでイベントを購読&実行
- リアクティブなデータ
- watchでデータの変更を監視
- v-bindでHTML属性を変更
- HTML要素を表示・非表示にする
- v-forでデータ配列の内容を表示
- ToDoアプリで基本を学ぶ④ コンポーネント
- コンポーネント
- 親子コンポーネント間の通信(props)
- 親子コンポーネント間の通信($emit)
- <transition>を用いたアニメーション
- Vue.jsとは?
- Vue.jsをWebサイトに組み込む
- WebサイトでのVue.jsの使いどころ
- WebサイトにおけるVue.jsの使いどころ
- モーダルを作ってみよう
- モーダルの要素と仕様
- サムネイルリストを作成する
- クリックイベントを追加する
- 閉じるボタンを作成する
- PREV、NEXTボタンを作成する
- モーダルを完成させる
- カルーセルを作ってみよう
- カルーセルの要素と仕様
- カルーセルとページャーのテンプレート
- アコーディオンを作ってみよう
- アコーディオンの実装に必要な要素と仕様
- アコーディオンのテンプレート
- アコーディオン機能の実装
- 商品一覧表示&検索を作ってみよう
- 商品一覧表示&検索に必要な要素
- 商品一覧を表示する
- 商品名での検索を実装する
- 価格での検索を実装する
- クイズを作ってみよう
- 簡易クイズアプリに必要な要素
- 問題&解答コンポーネントを作成する
- 結果表示コンポーネントを作成する
- 親コンポーネントを作成する
- WebサイトでのVue.jsの使いどころ
- Jamstackで静的サイトを作る
- Nuxt.jsの準備をする
- Jamstackとは?
- Nuxt.jsとは?
- Node.jsのインストール
- Nuxt.jsのインストール
- Nuxt.jsで静的なページを作る
- 静的ページのワイヤーと構成
- Nuxtのディレクトリ構成を確認する
- トップページを作る
- パーツのコンポーネント化
- 下層ページを作る
- メニューページを作る
- お知らせ一覧ページを作る
- お知らせ詳細ページを作る
- 部分的にCMS化する
- Headless CMSとは?
- microCMSとは?
- フィールド作成と記事追加
- microCMSからデータを取得
- Nuxt.jsにデータを表示する
- お知らせの登録データを表示
- お知らせの詳細ページを作成
- Netlifyへデプロイする
- Netlifyとは?
- Netlifyの登録とGitHubの連携
- NetlifyとmicroCMSの連携
- Nuxt.jsのページをNetlifyへアップ
- サイト更新のワークフロー
- Nuxt.jsの準備をする
動かして学ぶ!Vue.js開発入門
出版社 | 翔泳社 |
著者 | 森 巧尚 |
発売日 | 2019/1/15 |
ページ数 | 272ページ |
Kindle版 | ◯ |
レビュー (Amazon) | (24件) |
Vue.jsの基本機能を押さえたサンプルを元に、Webアプリ開発手法を学ぶことができます。
具体的には、ニーズの高い、データバインディング、イベント、ライブラリの利用、コンポーネントなど開発の現場でニーズの高いトピックを中心に解説。さらに現在、主流になりつつあるSPAの作成に役立つポイントも盛り込みます。
- Vue.jsって何?
- Vue.jsって何?
- jQueryよりもシンプル
- SPA(シングルページアプリケーション)のメリット
- Vue.jsは、学習しやすくて、軽いSPAを作れる
- どのようなものが作れる?
- Vue.jsは「データと表示をつなげる仕組み」
- Vue.jsの主な機能一覧
- インストールしてみよう
- CDNを使う方法
- ダウンロードする方法
- 試してみよう
- クリックした回数を表示するボタン
- まとめ
- Vue.jsって何?
- データを表示するとき
- Vue インスタンスを作る:new Vue
- データをそのまま表示する:{{ データ }}
- マスタッシュ({{}})タグで表示
- v-textで表示
- v-htmlで表示
- 使えるデータの種類
- 基本的なデータ
- 配列
- オブジェクト型
- あらかじめ用意したデータを使う
- データの中身を確認したいとき
- まとめ
- 属性を指定するとき
- 要素の属性をデータで指定する:v-bind
- 画像を指定する
- リンク先を指定する
- 右寄せ、左寄せ、中央寄せなどを指定する
- インラインスタイルを指定する
- クラス属性を指定する
- まとめ
- 要素の属性をデータで指定する:v-bind
- ユーザーの入力をつなぐとき
- 入力フォームをデータとつなぐ:v-model
- テキスト:input
- 複数行テキスト:textarea
- チェックボックス:input checkbox
- ラジオボタン:input radio
- 選択:select
- 修飾子
- まとめ
- 入力フォームをデータとつなぐ:v-model
- ユーザーの操作をつなぐとき
- イベントとつなぐ:v-on
- ボタンをクリックしたとき
- 引数を渡してメソッドを実行する
- キー入力したとき
- まとめ
- イベントとつなぐ:v-on
- 条件とくり返しを使うとき
- 条件によって表示する:v-if
- trueのときだけ表示する例
- trueとfalseで表示を切り替える例
- クリックしたら「いいね!」ボタンが消える例
- くり返し表示する:v-for
- 配列データをリストで表示する例
- オブジェクトの配列データをリストで表示する例
- 1×5~10×5を繰り返し表示する例
- 配列データを、番号付きリスト表示する例
- 配列データをテーブルで表示する例①
- 配列データをテーブルで表示する例②
- 配列データの追加と削除
- v-forとv-ifの組み合わせ
- まとめ
- 条件によって表示する:v-if
- Google Chartsと連動させてみよう
- Google Chartsとは?
- Google Chartsで円グラフを表示させる例
- Google Chartsと連動させる
- Google Chartsの円グラフにボタンで投票できる例
- まとめ
- Google Chartsとは?
- データの変化を監視するとき
- データを使って別の計算をする:算出プロパティ
- 金額を入力したら、消費税込みの金額を計算する例
- 単価と個数を入力したら、税込み金額計算する例
- 文章を入力したら、残りの文字を表示する例
- 文字を入力すると、その文字を含む項目だけ表示される例
- 赤緑青のスライダーを動かしたら、できた色を表示する例
- データの変化を監視する:監視プロパティ
- 入力文字を監視して、禁止文字が入力されたらアラートを出す例
- タイマーを作る
- 残り秒数が0になったら、アラートを出す例
- 残りの秒数を監視して表示し、0秒になったらアラートを出す例
- TweenMaxライブラリを使う
- TweenMaxのテスト
- 数字がクルクルとアニメーションをしながら値が増えるinput要素の例
- まとめ
- データを使って別の計算をする:算出プロパティ
- Markdownエディタを作ってみよう
- Markdown エディタとは?
- Markdownエディタの設計
- Markdown エディタを作る
- Markdownの例
- まとめ
- Markdown エディタとは?
- アニメーションするとき
- 表示/非表示時にアニメーションする:transition
- チェックボックスで表示/非表示をアニメーションする例
- リストのトランジション:transition-group
- ボタンを押してリストが増減するとき、アニメーションする例
- リストの並びが移動するトランジション
- クリックしたらシャッフルする例
- リストの並びが移動しながら変わるアニメーションの例
- まとめ
- 表示/非表示時にアニメーションする:transition
- ToDoリストを作ってみよう
- ToDoリストとは?
- ToDoリストのサンプル
- ToDoリストの作成手順
- ToDoリストの設計
- 仮データでToDoリストを表示する
- 仮データで表示するToDoリスト
- 改良する:追加&削除機能
- 改良する方法
- まとめ
- ToDoリストとは?
- 部品にまとめるとき
- 部品にまとめる:コンポーネント
- コンポーネントを作って表示する例
- コンポーネントのdata はfunction にする
- それぞれ別々にカウントするコンポーネントの例
- 値を渡す:props
- コンポーネントに値を渡す例
- v-forでコンポーネントを繰り返す
- 配列からコンポーネントを作って表示する例
- まとめ
- 部品にまとめる:コンポーネント
- JSONデータを表示させてみよう
- JSONファイルの読み込み方
- JSONを読み込む例(JavaScript)
- JSONを読み込む例(Vue.js)
- JSONデータを読み込んで、コンポーネントで並べる
- プログラムの設計
- 配列データをコンポーネントで並べる例
- 改良する:トランジションをつける
- プログラムの設計
- JSONデータを読み込んで、トランジションをつける例
- まとめ
- JSONファイルの読み込み方