序文: Vue を使用する場合、多くの場合、カスタム プラグインをいくつか使用して記述し、 この記事を読むと、次のことが分かります。
さて、これ以上何も言わずに、始めましょう! ! ! 1. Vuex&Vue-Routerでのインストール処理ここに、皆さんに考えてほしい 2 つの質問があります。穴を掘るようなものです。以下で 1 つずつ答えていきます。
実際、両者の原理は同じです。ここでは例として クラスルーター{ コンストラクタ(オプション) { ... } } Router.install = function(_Vue) { _Vue.mixin({ 作成前() { if (this.$options.router) { _Vue.prototype.$router = this.$options.router } } }) } デフォルトルーターをエクスポートします。
この場合は、大胆な判断をしてみましょう。 心配しないでください。最初の問題は解決したので、今度は 2 番目の穴を埋めましょう。 通常は // ルーター/index.js 'vue-router' という形式で VueRouter をインポートします。 'vue' から Vue をインポートします。 Vue.use(VueRouter); 定数_router = [ ... ] 定数 Router = new VueRouter(_router); デフォルトルーターをエクスポートします。 // メイン.js 'vue' から Vue をインポートします。 'router' から router をインポートします。 新しいVue({ ルーター、 ... }).$mount('#app'); 最初の例を組み合わせて、まず分析してみましょう。
噛む! ! !要素が検出されましたので、大胆に推測してみましょう。 2. Vueでのインストールの内部実装よく使われるライブラリ エクスポート関数 initUse (Vue: GlobalAPI) { // インスタンスにマウントされたuseメソッドを登録する Vue.use = function (plugin: Function | Object) { // 現在のプラグインの配列を初期化します const installedPlugins = (this._installedPlugins || (this._installedPlugins = [])) // このプラグインがすでに登録されている場合は処理しません if (installedPlugins.indexOf(plugin) > -1) { これを返す } ... // ここがポイントです! ! ! if (typeof plugin.install === 'function') { // install がプラグイン内の関数である場合、install メソッドを呼び出し、プラグインを指定して、いくつかのパラメータを plugin.install.apply(plugin, args) に渡します。 } そうでない場合 (typeof plugin === 'function') { // プラグイン自体が関数である場合は、それをインストールメソッドとして扱い、プラグインを指し示し、一連のパラメータを plugin.apply(null, args) に渡します。 } //プラグインをプラグイン配列に入れるinstalledPlugins.push(plugin) これを返す } } ソースコードのこの部分は非常に簡潔で、読みやすいです。つまり、使用時にプラグインの種類を判別し、プラグイン自体の 結論: Vue のプラグインの仕組みについて、より深く理解できたでしょうか?実際、プラグインを開発するときに、 Vue のプラグインの仕組みと 以下もご興味があるかもしれません:
|
<<: IDEA で mysql8.0.3 と mybatis-generator を使用する際に発生するバグ
>>: MySQL ストアド プロシージャ (in、out、inout) の詳細な説明
MySQL では、datetime 型は通常、時間を保存するために使用されますが、現在では多くのシス...
データベース接続のURLの詳細な説明と概要JDBC URL = プロトコル名 + サブプロトコル名 ...
基本構造:コードをコピーコードは次のとおりです。 <ダウンロード> <dt>...
必要:公式サイトのリソースサーバーは確かに1つのインスタンスでは使えず、複数のインスタンスを一緒に使...
この記事では、宝くじターンテーブルを描画するJS + Canvasの具体的なコードを参考までに共有し...
コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...
序文ファイル システムは、データの保存方法と復元方法を整理する役割を担います。 いずれにせよ、時間の...
序文: MySQL データベースは、よく使用される集計関数、日付および文字列処理関数など、幅広い関数...
この記事では、LinuxにバイナリモードでMySQLをインストールする具体的な手順を参考までに紹介し...
目次Vue ミックスインの使用ミックスインでのデータアクセスミックスイン/index.jsホーム.v...
最も一般的で、最もよく使用され、最も一般的な方法は、submit タイプを使用することです。コードを...
では、早速コードを見てみましょう。 1. 上部、中央、下部のレイアウト: <!DOCTYPE ...
vueプロジェクトでは、アップロードした画像に透かしを追加して参照できるようにするアップグレード版...
目次1. 数値型1.1 数値型の分類1.1.1 浮動小数点数1.1.2 ビットタイプ1.1.3 時間...
デフォルトでは、コンテナ データの読み取りと書き込みはコンテナのストレージ レイヤーで行われます。コ...