基礎からメモ: Vue.js CH8-p268 ヘルパーでコンポーネントとストアをバインドする

ゲッターやミューテーションを使うロジックを、コンポーネントの算出プロパティやメソッドに全て記述するのは冗長になる。そういう場合にヘルパーが用意されている。

あらかじめ必要なヘルパーを読み込む。

続きを読む

基礎からメモ: Vue.js CH7-p252 Vuexの導入

Vuex は Vueアプリケーションで使うデータとその状態を一元管理する「状態管理」のための拡張ライブラリ。

深くネストされたコンポーネント構造では、コンポーネント間でprops$emitを使って各コンポーネントうしのやり取りをする必要があるが、Vuex を使えばデータ管理がしやすくなる。

続きを読む

基礎からメモ: Vue.js CH6-p205 リストトランジション

リストの要素をグループ化して、追加、削除、移動のアニメーションを行う。

<transition-group>タグを使いtag属性でタグ名を指定する。tag属性を省略するとspan要素でラップされる。リストトランジションではキーの設定が必須。

続きを読む

基礎からメモ: Vue.js CH6-p195 基本的なトランジションの使い方

トランジション用クラスの適用

トランジション効果を適用したい要素を<transition>タグで囲むことで、トランジション用のクラスが適用される。

続きを読む

基礎からメモ: Vue.js CH5-p179 テンプレートの定義方法

テンプレートの種類

templateオプション

今まで出てきた書き方。ES2015が使えるなら、テンプレートリテラルが便利

Vue.component('my-calendar', {
  template: `<div>
    <p>..........</p>
    </div>`
});

単一ファイルコンポーネントを使わない場合は、このtemplateオプションが推奨。

続きを読む

基礎からメモ: Vue.js CH5-p175 コンポーネントの双方向データバインディング

親子間でデータを受け渡ししたい場合、親から子へはpropsを介して渡す、子から親へはイベントを$emitするという決まりになっていた。 $emitを介さずに子からpropsで渡された値を更新しようとするとエラーになった。これは親のデータを子から簡単に変更できてしまっては問題があるからだ。

しかし子コンポーネントのインプットフォームに入力された値で、親コンポーネントのデータを更新したいといったケースは多い。v-modelを使えば少し簡易にこれが可能になる。

続きを読む