Vuejs-directives
VueJS-ディレクティブ
ディレクティブは、VueJSが特定の方法で物事を行うための指示です。 v-if、v-show、v-else、v-for、v-bind、v-model、v-onなどのディレクティブはすでに見ています。
この章では、カスタムディレクティブを見ていきます。 コンポーネントに対して行ったのと同様のグローバルディレクティブを作成します。
構文
Vue.directiveを使用してディレクティブを作成する必要があります。 上記のディレクティブの名前を取ります。 ディレクティブの動作の詳細を示す例を考えてみましょう。
例
この例では、次のコードに示すように、カスタムディレクティブ changestyle を作成しました。
次の変更スタイルをdivに割り当てています。
ブラウザに表示される場合、テキストVueJsディレクティブが赤色で表示され、フォントサイズが30ピクセルに増加します。
出力
ディレクティブの一部であるbindメソッドを使用しました。 カスタムディレクティブを適用する必要がある要素である3つの引数 e1 を取ります。 バインディングは、カスタムディレクティブに渡される引数のようなものです。 v-changestyle =” \ {color: ’green’}”、ここで緑はバインディング引数で読み込まれ、vnodeは要素、つまり ノード名。
次の例では、すべての引数をコンソールに表示し、それぞれの引数の詳細を示しています。
以下は、カスタムディレクティブに渡される値の例です。
出力
テキストの色が緑に変わります。 値は、次のコードを使用して渡されます。
フィルター
VueJSは、テキストの書式設定に役立つフィルターをサポートしています。 v-bindおよび補間(\ {\ {}})とともに使用されます。 フィルターのJavaScript式の最後にパイプ記号が必要です。
例
上記の例では、簡単なフィルターカウントレターを作成しました。 Countlettersフィルタは、テキストボックスに入力された文字の数をカウントします。 フィルターを使用するには、次のコードによって、フィルタープロパティを使用し、使用するフィルターを定義する必要があります。
メソッド countletters を定義し、入力された文字列の長さを返します。
ディスプレイでフィルターを使用するには、パイプ演算子とフィルターの名前を使用しました。 カウンター。
以下はブラウザでの表示です。
次のコードを使用して、フィルターに引数を渡すこともできます。
これで、 countletters には3つのパラメーターがあります。 *メッセージ、a1、およびa2 *。
次のコードを使用して、複数のフィルターを補間に渡すこともできます。
フィルタープロパティでは、 countlettersA および countlettersB が2つのメソッドになり、 countlettersA は詳細を countlettersB に渡します。