Open3

Vue.js

masa4tmasa4t

v-on @
v-model
v-bind :
v-slot:
computed

ライフサイクルフック
https://ja.vuejs.org/api/composition-api-lifecycle.html

pinia
https://zenn.dev/ytr0903/articles/18fe28b963a07c

form作る時に便利
https://ja.vuejs.org/guide/essentials/forms.html

useAttrs

provide injectバケツリレー回避のもの

コンポーザブル(外部で使い回し可能な関数作れること)

<Transition>と<TransitionGroup>: cssでのアニメーションに使用するもの

<KeepAlive>: コンポーネントの切り替えによる初期化を防ぐもの

<Suspence>: 、非同期コンポーネントの読み込みが完了するまで一時的なコンテンツを表示するための機能

masa4tmasa4t

piniaではvue3からのset up 内の関数の書き方ができて今までの状態管理よりわかりやすくなった。
概念 state, getters, actions
これらはコンポーネント内のdata, computed, methodsと同等

今までの書き方

export const useCounterStore = defineStore('counter', {
  state: () => ({ count: 0, name: 'Eduardo' }),
  getters: {
    doubleCount: (state) => state.count * 2,
  },
  actions: {
    increment() {
      this.count++
    },
  },
})

setup 関数のような書き方

export const useCounterStore = defineStore('counter', () => {
  const count = ref(0)
  const name = ref('Eduardo')
  const doubleCount = computed(() => count.value * 2)
  function increment() {
    count.value++
  }

  return { count, name, doubleCount, increment }
})

refのデータを使う場合でも.valueつける必要がない。

ref()s become state properties
computed()s become getters
function()s become actions

masa4tmasa4t

v-for をオブジェクトに適用する​
v-for は、オブジェクトの各プロパティを反復処理するのにも使用できます。反復処理の順序は、オブジェクトに対して Object.values() を呼び出した結果に基づきます:

const myObject = reactive({
  title: 'How to do lists in Vue',
  author: 'Jane Doe',
  publishedAt: '2016-04-10'
})
template
<ul>
  <li v-for="value in myObject">
    {{ value }}
  </li>
</ul>

以下のように 2 つ目のエイリアスを指定すると、プロパティの名前(「キー」とも呼ばれる)を取り出すことができます:

template
<li v-for="(value, key) in myObject">
  {{ key }}: {{ value }}
</li>

さらに 3 つ目のエイリアスを追加すると、インデックスを取り出せます:

template
<li v-for="(value, key, index) in myObject">
  {{ index }}. {{ key }}: {{ value }}
</li>