最近、Vue3.0 を試してみたくてうずうずしていましたが、とてもいい感じです。そこで、Vue2.0 のこれらの問題をすぐに終わらせて、3.0 用のものをいくつか書きました。 次のチェック関数: 次の Dom 更新サイクルが終了した後に遅延コールバックを追加します。データを変更した後、更新された Dom を取得できます。 Vue.nextTick( [コールバック, コンテキスト] ) vm.$nextTick( [コールバック] ) // 使用法 2 // Promise として使用 (2.1.0 以降の新機能) Vue.nextTick() .then(関数() { // DOMが更新されました}) 例: コールバック: 遅延コールバック関数 拡張機能:
ミックスイン関数: ミックスインを登録し、登録後に作成されるすべての Vue インスタンスに影響します。プラグイン作成者は、ミックスインを使用してコンポーネントにカスタム動作を挿入できます。 // カスタム オプション 'myOption' のハンドラーを挿入します。 Vue.mixin({ 作成: 関数 () { var myOption = this.$options.myOption if (myOption) { コンソールログ(myOption) } } }) 新しいVue({ myOption: 'こんにちは!' }) // => "こんにちは!" 例: オブジェクト: VM 属性またはメソッド $強制更新関数: Vue インスタンスを強制的に再レンダリングします。 vm.$forceUpdate() 設定、削除関数: レスポンシブ データのプロパティを設定および削除し、ビューの更新をトリガーします。 // 使用法 1 Vue.set( ターゲット、キー、値 ) Vue.delete( ターゲット、キー ) // 使用法 2 vm.$set( ターゲット、キー、値 ) vm.$delete( ターゲット、キー ) 例: ターゲット: ターゲットオブジェクト フィルター関数: 一般的なテキスト書式設定と標準的なデータ マッピングに使用されます。 <!-- 二重中括弧内 --> {{ メッセージ | 大文字 }} <!-- `v-bind` 内 --> <div v-bind:id="rawId | formatId"></div> // フィルターを登録する: { 大文字にする: 関数 (値) { if (!value) が '' を返す 値 = value.toString() 戻り値.charAt(0).toUpperCase() + value.slice(1) } } // グローバル登録 Vue.filter('capitalize', function (value) { if (!value) が '' を返す 値 = value.toString() 戻り値.charAt(0).toUpperCase() + value.slice(1) }) 新しいVue({ // ... }) 例: フィルター関数は、常に式の値 (前の演算子チェーンの結果) を最初の引数として受け取ります。
指令関数: カスタムディレクティブを登録するために使用されます。 使用法: <!-- ページが読み込まれると、この要素がフォーカスを受け取ります --> <入力vフォーカス> // グローバルカスタムディレクティブ `v-focus` を登録します Vue.directive('focus', { // バインドされた要素が DOM に挿入されると... 挿入: 関数 (el) { // 要素にフォーカス el.focus() } }) // ローカルディレクティブを登録します。コンポーネントはディレクティブオプションも受け入れます。ディレクティブ: { 集中: // 挿入された命令の定義: function (el) { el.フォーカス() } } } 例: 挿入は登録命令の補間関数の 1 つにすぎません。完全な登録属性には次のものも含まれます。 Vue.directive('my-directive', { バインド: 関数 () {}, 挿入: 関数 () {}, 更新: 関数 () {}, コンポーネント更新: 関数 () {}, アンバインド: 関数 () {} }) その他の単純な共通プロパティとメソッド// コンソールログ(vm.$root); vm.$root //インスタンスオブジェクト vm.$el //ルート要素(実際のDOM要素) // コンソールログ(vm.$el); vm.$el.innerHTML //ルート要素(実際のDOM要素)のコンテンツを取得します // console.log(vm.$el.innerHTML); vm.$data //インスタンスの下のデータオブジェクト// console.log(vm.$data); vm.$options //インスタンスの下にアイテムをマウントします// console.log(vm.$options); vm.$props //コンポーネント間の通信用データ// console.log(vm.$props); vm.$parent // コンポーネントでは、親要素を参照します // console.log(vm.$parent); vm.$children // コンポーネント内で、子要素を参照します // console.log(vm.$children); vm.$attrs //親コンポーネントから渡されたすべての属性を取得するために使用されます // console.log(vm.$attrs); vm.$listeners //親コンポーネントから渡されたすべてのメソッドを取得するために使用されます // console.log(vm.$listeners); vm.$slots //コンポーネント内のスロット// console.log(vm.$slots); vm.$scopedSlots //スコープ付きスロットにアクセスするために使用されます // console.log(vm.$scopedSlots); vm.$refs //DOM 要素を見つけるために使用 (追跡には ref を使用) // console.log(vm.$refs); vm.$watch //データを監視するために使用されます(vue ファイルで使用された後は自動的に破棄されます) // コンソールログ(vm.$watch); vm.$emit //イベントをディスパッチするために使用されます(通常はデータ通信に使用されます) // コンソールログ(vm.$emit); vm.$on //イベントディスパッチを監視するために使用されます// console.log(vm.$on); vm.$once //イベントを一度だけリッスンします(その後はリッスンしません) // コンソールログ(vm.$once); //ライフサイクル beforeCreate() { } 作成された() { } マウント前() { } マウント() { } 更新前() { } 更新された() { } 破棄する前に() { } 破壊された() { } 要約するこの記事には主に、vue でよく使用されるいくつかの API が含まれています。さらに詳しく知りたい場合は、公式 Web サイトを参照してください。この記事が皆様のお役に立ち、実際のプロジェクト開発にうまく応用できることを願っています。 読みやすく理解しやすいように、この記事のコードはGithubにアップロードされています。 記事に誤りがありましたら、コメント欄でご指摘ください。役に立った場合は、いいねやフォローをお願いします。 以上がVueのよく使われるAPIと高度なAPIの詳しいまとめです。Vueのよく使われるAPIと高度なAPIについてさらに詳しく知りたい方は、123WORDPRESS.COMの関連記事もぜひご覧ください! 以下もご興味があるかもしれません:
|
<<: 正規表現に基づくあいまい文字列置換を実装するMySQLの方法の分析
>>: userdel コマンドを使用して Linux ユーザーを削除する方法の詳細なチュートリアル
この記事では、例を使用して MySQL カーソルの原理と使用方法を説明します。ご参考までに、詳細は以...
CSS によるテキストの切り捨てテキストを自動的に切り捨てるスタイル コードを実装するには、次のコー...
目次序文React Context の初見コンテキストの使い方コンテキストを直接取得できるいくつかの...
padding-top パーセンテージを使用すると、固定幅と比例した高さの表示を実現できます。現在の...
1. ボタンが押されたときに点線のボックスをキャンセルする<br />入力に属性値hid...
目次前面に書かれたログインの概要ログインビジネスプロセスログインサービスの関連技術ポイントログイント...
歴史は常に驚くほどうまく繰り返される。西洋建築とウェブデザインは、どちらも工学と芸術の組み合わせです...
Vueは宮殿グリッド回転抽選(CrossFireのxx転生に似ている)を実装しています。参考までに、...
目次序文実装のアイデア実装手順1. Nginxをコンパイルする2. 設定ファイルは以下のとおりです要...
uwsgi+nginx プロキシ Django をデプロイする場合、uwsgi を使用したアクセスは...
フォルダー内のすべての txt ファイルのファイル名の前に「gt_」を追加する必要があります。つまり...
HTML5 は HTML 標準の次のバージョンです。ますます多くのプログラマーが、Web サイトの構...
1. jdkダウンロードアドレスをダウンロードする我下載的是jdk-8u221-linux-x64....
MySQL データベースには増分バックアップ メカニズムはありませんが、マスター データベース内のす...