blog

Vue- Vue.directivesカスタムディレクティブ

ユーザ登録ページを例にとると、デフォルトでは、ユーザがページを開いたときに入力ボックスにフォーカスが当たるのではなく、ユーザが入力ボックスをクリックした後にフォーカスが当たります。 このプロパティをカ...

Apr 28, 2020 · 3 min. read
シェア

一般的なカスタムディレクティブ

ユーザ登録ページを例にとると、デフォルトでは、ユーザがページを開いたとき、フォーカスはページ冒頭の入力ボックスに置かれず、ユーザが入力する前に入力ボックスをクリックする必要があります。

カスタムプロパティを使用すると、ページを開くとすぐに入力ボックスにフォーカスが自動的に移動します。これを行うには、VueのAPIである Vue.directive()を使用します 括弧内の最初のパラメータはカスタムプロパティの名前で、2番目のパラメータはこのカスタムディレクティブを実装するビジネスロジックです。

以下はmain.jsに書かれたロジックです:

以下はApp.vueコンポーネントで記述したHTMLです。

その効果は以下の通り:

1つのページに複数の入力ボックスがある場合、このコマンドは1つの入力ボックスしか検索できません。各入力ボックスに対してこのコマンドを呼び出すと、デフォルトで最後の入力ボックスが検索されます。

挿入関数は、より一般的に使用されるフック関数の1つです。

パラメータ付きカスタムコマンド

定義規則

パラメータを持つカスタム命令の定義ルールは、命令を実装する関数に追加のパラメータがあることを除けば、一般的なカスタム命令とほぼ同じです。

Vue.directive('backgroundColor', {)

inserted(el, binding){

el.style.backgrondColor=binding.value.color;

}

})

ここではinsertをbindに置き換えることができ、場合によってはこの2つの方法は共通です。

利用規定

拡大変形

Vue.directive()のフック関数をupdate()に置き換え、いくつかのJSロジックと組み合わせることで、以下のようなレスポンシブなデバイスが得られます。

変更ボタンをタップするたびに、入力ボックスの色が切り替わります。

カスタム指示 ローカル指示

このように記述されたカスタムディレクティブの役割は、グローバル、つまりプロジェクト内の親コンポーネントと子コンポーネントの両方に影響を与えるものであり、ローカルカスタムディレクティブは、単一のコンポーネントにのみ作用するカスタムディレクティブであり、ディレクティブを実装するディレクティブのロジックは、オブジェクトとしてコンポーネント内に記述することができます。ディレクティブを実装するディレクティブのロジックは、メソッドオブジェクトや計算オブジェクトなどと同じように、コンポーネントのオブジェクトとして書くことができます。同様に、メソッドオブジェクトや計算オブジェクトなどもグローバルロジックとして main.js に書くことができます。

以下のロジックはApp.vueコンポーネントに書かれています:

結果は以下の通り。

別のサブコンポーネントを書いてみてください:

ディレクティブオブジェクトは、いくつかの異なるカスタムディレクティブで記述することができます。

Read next

"効率アップ "厳選MACアプリ 引越し効率倍増のススメ

最近目にしたある言葉が心に響きました。非効率的な仕事を毎日続けても、熱意は冷めるばかりで、時間という莫大なコストは多くのチャンスを逃す原因になります。 この波の中で、生産性を向上させるために率先して行動することを学ぶ葉節として。本稿は、効率向上に関するコラムの第2回です。 暖かいヒント:以下の各タイトルは、公式サイトに直接クリックすることができます。 便利なスイッチホストマジックツール、ノーモア...

Apr 28, 2020 · 3 min read