14.

【Vue.js】Mixinを利用した共通処理の記述方法

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

共通の処理

共通処理用のvueファイルを作成して以下の様に共通化したい処理を記述する。

内容はなんでもよい。

Common.vue
<script>
    export default {
        created() {
            this.getMessages()
        },
        data() {
            return {
                messages: [],
            }
        },
        methods: {
            getMessages() {
                axios
                    .get('/api/message/list')
                    .then(res =>  {
                        this.messages = res.data
                    })
            },
        }
    }
</script>

 

 

共通処理を呼び出す処理

mixinsを使用して引数に共通処理のファイルを指定する。

Example.vue

<script>
   
import Common from './Common.vue'

    export default {
       
mixins: [Common],
        created() {
            this.getChannelsTest()
        },
        data() {
            return {
                channels: [],
            }
        },
        methods: {
            getChannelsTest() {
                axios
                    .get('/api/channels/test')
                    .then(res =>  {
                        this.channels = res.data
                    })
            },
        }
    }
</script>

 

共通処理を呼び出す処理を省略する方法

全ての処理で使う場合はmain.jsで指定すればよい。

そうすれば各コンポーネント内で呼び出す必要もなくなる。

main.js

import Common from './Common.vue'

Vue.mixin(Common)

new Vue({
  el: '#app',
  router,
  render: h => h(App),
})

子ページ
子ページはありません
同階層のページ
  1. インストール(ファイルのダウンロード)
  2. npmを使用したプロジェクトの作成(mac)
  3. for 繰り返し処理
  4. ifの条件分岐とtemplateを用いたグループ化
  5. on:click クリック時のイベント処理
  6. modelとdata フォーム入力値とDOMへの即時反映
  7. computed(算出プロパティ)と使い方とdataとの違い
  8. ライフサイクルフック(created / mounted / updated / destroyedの使い方)
  9. $nextTickの使い方(ライフサイクルフック)
  10. メソッドの定義方法
  11. エラー一覧
  12. ルーティング設定
  13. aリンクの貼り方と動的URLの作成
  14. Mixinを利用した共通処理の記述方法
  15. v-bindによるデータ連携
  16. ヘッダー/フッターの共通コンポーネント
  17. ナビゲーションの現在ページをハイライトする方法
  18. 画面サイズの取得方法

最近コメントのあったページ

最近の質問

コメント一覧

コメントがありません

ログインしなければコメント投稿はできません。