Rumah > hujung hadapan web > View.js > teks badan

typeof tidak berfungsi dalam vue

下次还敢
Lepaskan: 2024-05-07 10:36:15
asal
1228 orang telah melayarinya

Menggunakan typeof untuk menyemak jenis pembolehubah dalam Vue mungkin tidak berfungsi kerana sistem reaktif Vue memproksi pembolehubah. Penyelesaian termasuk: 1. Gunakan Vue.util.typeCheck; 2. Gunakan Object.prototype.toString.call(myVariable);

typeof tidak berfungsi dalam vue

typeof tidak sah dalam Vue

Dalam Vue.js, menggunakan operator typeof untuk menyemak jenis pembolehubah mungkin gagal kerana sistem reaktif unik Vue akan merawat pembolehubah Jadi ejen. typeof 运算符来检查变量的类型可能会失效,因为 Vue 特有的响应式系统会对变量进行代理。

原因:

当一个变量被响应式地代理时,它会被一个包裹对象(wrapper object)替换。这个包裹对象会劫持对变量的访问,使之在值发生变化时能够自动触发更新。

解决方法:

为了在 Vue 中正确检查变量的类型,可以使用以下方法之一:

  • 使用 Vue.util.typeCheck
<code class="js">import { typeCheck } from 'vue/types/util'
typeCheck(myVariable) === 'Object' // true</code>
Salin selepas log masuk
  • 使用 Object.prototype.toString.call(myVariable)
<code class="js">Object.prototype.toString.call(myVariable) === '[object Object]' // true</code>
Salin selepas log masuk
  • 使用 Babel 的 transform-typeof-symbol 插件:

此插件会将 typeof 运算符编译成更可靠的替代方案。具体使用方法请参考 Babel 文档。

注意:

  • Vue.util.typeCheck 只能检查基础类型(如 ObjectArrayString)。
  • Object.prototype.toString.call(myVariable) 可以检查更广泛的类型,包括 Vue 特有的类型。
  • Babel 的 transform-typeof-symbol
Sebab: 🎜🎜🎜Apabila pembolehubah diproksikan secara reaktif, ia akan digantikan dengan objek pembalut. Objek pembalut ini merampas akses kepada pembolehubah, membolehkannya mencetuskan kemas kini secara automatik apabila nilai berubah. 🎜🎜🎜Penyelesaian: 🎜🎜🎜Untuk menyemak dengan betul jenis pembolehubah dalam Vue, anda boleh menggunakan salah satu kaedah berikut: 🎜
  • 🎜Gunakan Vue.util.typeCheck: 🎜🎜 🎜rrreee
    • 🎜Gunakan Object.prototype.toString.call(myVariable): 🎜🎜🎜rrreee
      • 🎜Gunakan Babel's transform-typeof- simbol Plugin: 🎜🎜🎜🎜Pemalam ini menyusun operator typeof menjadi alternatif yang lebih dipercayai. Sila rujuk dokumentasi Babel untuk penggunaan khusus. 🎜🎜🎜Nota: 🎜🎜
        • Vue.util.typeCheck hanya boleh menyemak jenis asas (seperti Object, Array dan String). 🎜
        • Object.prototype.toString.call(myVariable) boleh menyemak julat jenis yang lebih luas, termasuk jenis khusus Vue. 🎜
        • Pemalam transform-typeof-symbol Babel perlu didayakan dalam konfigurasi Babel. 🎜🎜

Atas ialah kandungan terperinci typeof tidak berfungsi dalam vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
vue
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan