Web インタビュー Vue カスタム コンポーネントと呼び出しメソッド

Web インタビュー Vue カスタム コンポーネントと呼び出しメソッド

輸入:

プロジェクトの要件により、同じコードの一部をコンポーネントにカプセル化し、必要な場所にインポートします。
タグの形で書かれ、
しかし、「vant」コンポーネント ライブラリでは、「ダイアログ ポップアップ ボックス」コンポーネントには 2 つの使用方法があります。

通常、コンポーネントをカスタマイズする場合、通常は方法 2 の形式で使用します。今日は、方法 1 の使用方法を紹介します。

コーディング実装

コンポーネントをプラグインとして使用する

// 表示するコンポーネントをインポートします。import mymodel from '../components/mymodel.vue'
エクスポートデフォルト{
  インストール: 関数 (Vue) {
    // 1.0 mymodel コンポーネントオブジェクトのコンストラクタを取得します。const Mymodel = Vue.extend(mymodel)
    // すべてのvueインスタンスにメソッド$modelを追加します
    Vue.prototype.$model = 関数 () {
      // コンポーネントを表示するには: mymodel
      // 2.0 コンポーネントオブジェクトを作成する const obj = new Mymodel()
      // 3.0 コンポーネントを表示する obj.show = true
      // 4.0 コンポーネントオブジェクトの HTML 構造を取得します。const html = obj.$mount().$el
      // 5.0 ページに HTML 構造をレンダリングします document.body.append(html)
    }
  }
}

使用

<テンプレート>
  <div>
    <h3>通常のコンポーネントメソッドで呼び出す</h3>
    <button @click="fn1">モデルを表示</button>
    <!-- <mymodel :value="show" @input="val => (show = val)"></mymodel> -->
    <mymodel v-model="表示"></mymodel>
    <!-- sync: パラメータがコンポーネントに渡されます: xxx コンポーネントからイベントを受信しました: update:xxx イベントにより xxx が自動的に変更されます -->
    <!-- v-model: パラメータがコンポーネントに渡されます: value イベントがコンポーネントから受信されます: 入力イベントによって value が自動的に変更されます -->
    <h3>js で呼び出す</h3>
    <button @click="fn2">モデルを表示</button>
  </div>
</テンプレート>
<スクリプト>
'../../components/mymodel.vue' から mymodel をインポートします。
エクスポートデフォルト{
  データ () {
    戻る {
      表示:偽
    }
  },
  メソッド: {
    fn1() {
      this.show = true
    },
    fn2() {
      // js メソッド this.$model() を通じてコン​​ポーネントを直接表示します。
    }
  },
  コンポーネント:
    私のモデル: 私のモデル
  }
}
</スクリプト>

<スタイル></スタイル>

以上がWeb面接Vueカスタムコンポーネントと呼び出し方法の詳細です。Web面接Vueの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Vueコンポーネントをカスタマイズする4つの方法の詳細な説明
  • Vue コンポーネント共通メソッド抽出ミックスイン実装
  • Vue共通コンポーネントを抽象化する方法
  • Vueはカスタムパブリックコンポーネントを実装し、パブリックメソッドを抽出します

<<:  MySQLがクエリキャッシュをキャンセルした理由

>>:  Linuxコマンド履歴の調整方法の詳細な説明

推薦する

Windows 10 での MySQL 8.0.19 のインストールと設定のチュートリアル

来学期にMySQLを勉強します。事前に自宅で練習していませんでした。インストールに時間がかかるとは思...

CocosCreatorのホットアップデートの包括的な説明

目次序文ホットチェンジとはCocos Hot アップデートの概要マニフェストプロジェクトリソースとゲ...

docker-compose が遅すぎる場合の解決策の詳細な説明

解決策はただ一つ、ソースを変更することです。 github からのソースは基本的にタイムアウトするの...

データベースクエリの最適化: サブクエリの最適化

1. 事例会社のトップ以外の従業員全員を年齢別にグループ化します。 t_emp で id が存在しな...

CSS3はシームレスなスクロールと手ぶれ防止を実現します

質問画像とテキストのシームレスなスクロールは、一般的に携帯電話では良い効果をもたらしますが、一部のモ...

測定画像HTTPリクエスト

一般的なブラウザでテスト ページを開き、Fiddler で http リクエストを表示してください。...

dockerコンテナがIP経由でホストマシンにアクセスできない問題を解決する方法の詳細な説明

問題の起源docker を使用する場合、残念ながら docker コンテナ内のホストのポート 80 ...

NodeJSプロセスがどのように終了するかについて詳しく説明します

目次序文積極的な撤退例外、拒否、および発行されたエラー信号まとめ序文NodeJS プロセスが終了する...

ウェブデザインでは、まずウェブサイトの包括的なイメージの位置付けが必要です。

⑴ 内容によって形式が決まります。まず内容を充実させ、次にブロックに分割し、トーンを決め、最後に細部...

Linuxダイナミックリンクライブラリの使用

通常のプログラムと比較すると、ダイナミック リンク ライブラリにはメイン関数がなく、一連の関数の実装...

自動行折り返し機能付き CSS Flex レイアウトのサンプル コード

フレックス コンテナーを作成するには、要素に display: flex プロパティを追加するだけで...

CentOS7でパーティションのサイズを変更する方法

昨日、ある人のシステムのインストールを手伝ったのですが、自動パーティション分割をクリックするのを忘れ...

JavaScript実行メカニズムの詳細な紹介

目次1. プロセスとスレッドの概念2. ブラウザの原則3. 同期と非同期4. 実行スタックとタスクキ...

MySQL 8.0 でのチェック制約の実装

みなさんこんにちは。私は技術の話ばかりして髪を切らない先生のトニーです。今回はMySQL 8.0で追...

mysqlを使用して、URLから返されたhttp GETリクエストデータを記録します。

ビジネスシナリオの要件と実装ロジックの分析ビジネスでは、HTTP GET を使用してデータを要求する...