1. はじめに
主な機能は次のとおりです。
2. 使用vue-property-decoratorは主に以下のデコレータを提供します
1. @コンポーネント
'vue-property-decorator' から {Component,Vue} をインポートします。 '@/components' から {componentA,componentB} をインポートします。 @成分({ コンポーネント:{ コンポーネントA、 コンポーネントB、 }, ディレクティブ: { 集中: // 挿入された命令の定義: function (el) { el.フォーカス() } } } }) デフォルトのクラスをエクスポートし、YourCompoent を Vue に拡張します{ } 2. 計算、データ、方法ここでは、コンポーネントの @成分 デフォルトのクラスHelloDecoratorをエクスポートし、Vueを拡張します。 count: number = 123 // クラス属性は前のデータと同等です add(): number { // クラスメソッドは前のメソッドと同じ this.count + 1 } // 計算属性を取得する get total(): number { this.count + 1 を返す } // 計算プロパティを設定する set total(param:number): void { this.count = パラメータ } } 3. @propsコンポーネントは属性のデコレータを受け取ります。これは次のように使用されます。 vue-property-decorator から {Component,Vue,Prop} をインポートします。 @成分 デフォルトのクラスをエクスポートし、YourComponent を Vue に拡張します { @Prop(文字列) propA: 文字列; @Prop([文字列,数値]) propB:文字列|数値; @Prop({ 型: 文字列、// 型: [文字列、数値] default: 'デフォルト値', // 通常は文字列または数値 // オブジェクトまたは配列の場合。デフォルト値はファクトリー関数から返されます // default: () => { // ['a','b'] を返す // } 必須: true、 バリデータ: (値) => { 戻る [ 「進行中」、 「落ち着いた」 ].indexOf(値) !== -1 } }) propC: 文字列; } 4. @ウォッチこれは実際には Vue のリスナーであり、次のようになります。 'vue-property-decorator' から { Vue, Component, Watch } をインポートします。 @成分 デフォルトのクラスをエクスポートし、YourComponent を Vue に拡張します { @Watch('子') onChildChanged(値: 文字列、古い値: 文字列) {} @Watch('person', { 即時: true, ディープ: true }) onPersonChanged1(val: Person、oldVal: Person) {} @Watch('人') onPersonChanged2(val: Person、oldVal: Person) {} } 5. @エミット
'vue-property-decorator' から {Vue, Component, Emit} をインポートします。 @成分({}) デフォルトのクラスをエクスポートし、Some extends Vue{ マウントされた(){ this.$on('emit-todo', 関数(n) { コンソール.log(n) }) this.emitTodo('world'); } @エミット() 出力Todo(n: 文字列){ コンソールにログ出力します。 } } 結論上記の 以下もご興味があるかもしれません:
|
>>: MySQL マスタースレーブレプリケーションの詳細な分析
原因: NVIDIA グラフィック カード ドライバーが破損している解決:コマンドラインモードで再起...
Apache Log4j2 が核レベルの脆弱性を報告し、スタックリーダーの友人たちは大騒ぎになりまし...
開発の問題点開発プロセスでは、データベース フィールドが頻繁に変更されるため、RD 環境と QA 環...
目次JavaScript プロトタイプチェーンオブジェクトプロトタイプトップレベルのプロトタイプOb...
表のキャプションは表の上または下に配置でき、プロパティで調整できます。デフォルトのテーブル タイトル...
私はフロントエンド プロジェクトの開発に常に vscode を使用してきたため、現在ではいくつかの小...
ここでは、PHP、JSP、または .NET 環境については説明しません。アーキテクチャの観点から問題...
この投稿では、通知、画像とビデオ、フォーム フィールド、タイトル、段落、箇条書きリスト、ナビゲーショ...
nginx を使用して 1 つのサーバーに複数のフロントエンド プロジェクトをデプロイする 3 つの...
障害サイト: MySQL サーバーにログインし、どのコマンドを実行してもこのエラーが発生します my...
複雑な表を作成するには HTML を使用します。複雑なテーブルでは通常、td の rowspan 属...
このメモはインストール チュートリアルです。実用的な意味はありません。記録のためだけに書いています。...
目次vue2.x vue3.x tiny-emitterプラグインの使用Mittプラグインの使用vu...
目次JavaScriptでは、 forループを記述する一般的な方法がいくつかあります。最初の、そして...
次のような疑問が湧くかもしれません。MySQLをローカル (自分のコンピュータ) にインストールした...