私がVue 3に切り替えたトップの問題
4897 ワード
今日、私は問題を共有したいです🤯 私はVue 2からVue 3にプロジェクトを変更したときに得た.
カスタムコンポーネントのV - Modelの使用 フィルタの使用 外部コンポーネントの使用
カスタムコンポーネントにv - modelを使う
Vue 3への私のトップ3の問題
カスタムコンポーネントにv - modelを使う
Vue 2の場合はサポートしていたv-model
カスタムコンポーネントではinput
イベント.私はあなたに例を示しましょう、私たちはDatePicker
コンポーネント
<DatePicker v-model="date"></DatePicker>
<!-- In Vue2, would be shorthand for:-->
<DatePicker :value="date" @input="date = $event" />
ご覧の通りv-model="date"
に変換される:value="date" @input="date = $event"
. あなたが使う限りvalue
そして、input
カスタムコンポーネントのイベントはすべてうまくいくはずです.
ところで、日付モデルは次のようになります.
const date = {
month: 05,
year: 2020
}
かなり簡単ですが、Vue 3に変換する場合は、これはもう動作しません.
私を誤解しないでください、私は新しい方法が好きですv-model
作品私は大きな改善です、しかし、上記のコードはどんなエラーも引き起こさないでしょう、そして、あなたがそれを知らないならば、デバッグするのは難しいですv-model
Vue 3では異なる動作をする.
もっと読むことができますhere なぜ彼らはそれを変更する理由と使用方法v-model
, しかし、短いバージョンは、あなたがupdate:[modelName]
イベント、入力イベント、および使用modelName
カスタムコンポーネントでvalue
.
これを作成したdatepickerコンポーネントに表示しましょう.
<DatePicker v-model="date"></DatePicker>
<!-- would be shorthand for: -->
<DatePicker
:modelValue="date"
@update:modelValue="date = $event"
/>
ここでの利点は、この変更を知った後で、複数のV - Model ' sを使用することです.
// two v-model attributes
<DatePicker v-model:month="date.month" v-model:year"date.year"></DatePicker>
構文は以下のようになります.
2 .フィルタの使用
Vue 3フィルタで削除されます!これは、修正するのは難しいことではなく、すべてのファイルを🥵 とフィルタを変更いくつかの時間がかかった.
フィルタのパイプがJavaScriptビット単位演算子と衝突するという事実は、フィルタ付きの式が有効でないことを意味します.そういうわけで、推薦は代わりにメソッドを使用しています.
// Vue 2 Syntax
{{ name | firstLetterUp }}
// Vue 3 Alternative
{{ firstLetterUp(name) }}
これの欠点は、複数の方法を連鎖させることは、複数のフィルタを連鎖させるほど優雅ではないということである.
// Vue 2 Syntax
msg | uppercase | reverse
// Vue 3 Alternative
reverse(uppercase(msg))
外部コンポーネントの使用
ほとんどのコンポーネントは、グローバルAPIを使用して登録するための一般的な実践ですVue.use
登録する.
ここでの問題は、グローバルAPIがVue 3Vue.use
メソッドが動作しなくなり、コンポーネントの大部分が壊れます.
VUE 3をサポートするのを待つ必要があるので、アプリケーションに外部コンポーネントがたくさんある場合には大きな問題になります.
私は個人的に、私はいくつかのコンポーネントをforkし、変更を自分で作った.
結論
これらはトップ3です🤕 問題は、私はいくつかの小さなものを持っていたが、ここに含めるのに十分な重要ではなかった.
しかし、私はあなたの最高の問題はVue 3に切り替えていた好奇心旺盛ですか?コメントを教えてください.
読書ありがとうございます!
私が助けることができる何かがあるならば、出てください.チェックアウトマイblog より多くの記事のために、さえずりの上で私について来てください
良い一日を!
Reference
この問題について(私がVue 3に切り替えたトップの問題), 我々は、より多くの情報をここで見つけました
https://dev.to/ghalex/top-problems-i-got-switching-to-vue-3-28i6
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
<DatePicker v-model="date"></DatePicker>
<!-- In Vue2, would be shorthand for:-->
<DatePicker :value="date" @input="date = $event" />
const date = {
month: 05,
year: 2020
}
<DatePicker v-model="date"></DatePicker>
<!-- would be shorthand for: -->
<DatePicker
:modelValue="date"
@update:modelValue="date = $event"
/>
// two v-model attributes
<DatePicker v-model:month="date.month" v-model:year"date.year"></DatePicker>
Vue 3フィルタで削除されます!これは、修正するのは難しいことではなく、すべてのファイルを🥵 とフィルタを変更いくつかの時間がかかった.
フィルタのパイプがJavaScriptビット単位演算子と衝突するという事実は、フィルタ付きの式が有効でないことを意味します.そういうわけで、推薦は代わりにメソッドを使用しています.
// Vue 2 Syntax
{{ name | firstLetterUp }}
// Vue 3 Alternative
{{ firstLetterUp(name) }}
これの欠点は、複数の方法を連鎖させることは、複数のフィルタを連鎖させるほど優雅ではないということである.// Vue 2 Syntax
msg | uppercase | reverse
// Vue 3 Alternative
reverse(uppercase(msg))
外部コンポーネントの使用
ほとんどのコンポーネントは、グローバルAPIを使用して登録するための一般的な実践ですVue.use
登録する.
ここでの問題は、グローバルAPIがVue 3Vue.use
メソッドが動作しなくなり、コンポーネントの大部分が壊れます.
VUE 3をサポートするのを待つ必要があるので、アプリケーションに外部コンポーネントがたくさんある場合には大きな問題になります.
私は個人的に、私はいくつかのコンポーネントをforkし、変更を自分で作った.
結論
これらはトップ3です🤕 問題は、私はいくつかの小さなものを持っていたが、ここに含めるのに十分な重要ではなかった.
しかし、私はあなたの最高の問題はVue 3に切り替えていた好奇心旺盛ですか?コメントを教えてください.
読書ありがとうございます!
私が助けることができる何かがあるならば、出てください.チェックアウトマイblog より多くの記事のために、さえずりの上で私について来てください
良い一日を!
Reference
この問題について(私がVue 3に切り替えたトップの問題), 我々は、より多くの情報をここで見つけました
https://dev.to/ghalex/top-problems-i-got-switching-to-vue-3-28i6
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
これらはトップ3です🤕 問題は、私はいくつかの小さなものを持っていたが、ここに含めるのに十分な重要ではなかった.
しかし、私はあなたの最高の問題はVue 3に切り替えていた好奇心旺盛ですか?コメントを教えてください.
読書ありがとうございます!
私が助けることができる何かがあるならば、出てください.チェックアウトマイblog より多くの記事のために、さえずりの上で私について来てください
良い一日を!
Reference
この問題について(私がVue 3に切り替えたトップの問題), 我々は、より多くの情報をここで見つけました
https://dev.to/ghalex/top-problems-i-got-switching-to-vue-3-28i6
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(私がVue 3に切り替えたトップの問題), 我々は、より多くの情報をここで見つけました https://dev.to/ghalex/top-problems-i-got-switching-to-vue-3-28i6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol