2017-09-28 5 views
0

私は現在、どのようにVueJS」V-モデル反応の作品理解するいくつかの問題を抱えています。反応性値を更新/いくつかのプラグイン

私はselectフィールドをスタイルするのに役立つselectプラグインを持っていますが、JSを介してselectフィールドの値を変更します。問題はv-modelがその値を更新することを決して引き起こさないということです。 document.getElementById('field').value = 'whatever'、私がそれを行うとv-modelは更新されません。フィールドに直接入力するか、実際の選択フィールドをクリックしたときにのみ更新されます。

私が読んだように、Vueはinputイベントをリッスンして反応性をトリガーするようですが、JSでフィールドの値を単に変更すると、イベントは発生しませんが、変数の値は更新されません。

私は本当により深くこのことを理解し、彼らは次に何が起こるとき、この種の問題に対処するための最良の方法を持っている必要があります。私がプラグインのイベントを制御できないこの場合の最適な解決策は何でしょうか?値が動的に変更されたときにVueをリッスンする方法

ありがとうございました!

答えて

1

私はこれを助けるために起こっている場合は、完全にわからないんだけど、あなたは、フォーム入力コンポーネントを見ているのですか? https://vuejs.org/v2/guide/components.html#Form-Input-Components-using-Custom-Events

入力コンポーネントは、コンポーネントに関連付けられたv-modelの値を更新するために、イベントを外部に戻す必要があります。

また、あなたが、私はこのヘルプを願って、トラブルの入力値が https://vuejs.org/v2/guide/computed.html#Computed-vs-Watched-Property

を変更したかどうかを考え出すを抱えている場合watchersをチェックすることをお勧めします。

+0

これは私にはあまり役に立たないと思います。私は入力コンポーネントを持っていません、私は 'select'フィールドをスタイルするjQueryプラグインを使っています。また、別の入力にバインドされ、その値を変更する日付選択のために別のプラグインを使用します。値が変更されたときのv-model。私は 'v-model'に' .lazy'を追加してdatepickerを動作させることに成功しましたが、それはselectで動作しないように見えますし、正しいとは思われません。すべての手がかりは? –

+1

ああ、私は見ています - それは 'jQuery'と' VueJs'の間の戦いです。 jQueryプラグインがイベントをディスパッチするかどうかを確認します.Vueコンポーネント内からこれらのイベントをリッスンし、それに応じて値を更新できます。 –

+0

私はこのアプローチを避けたいと思っていましたが、これは手動すぎるようですが、別の方法があるかどうかはわかりません。私はそれを試してみます、ありがとう:) –

関連する問題