Vue의 반응형 시스템이 변수를 프록시하기 때문에 typeof를 사용하여 Vue에서 변수 유형을 확인하는 것이 작동하지 않을 수 있습니다. 해결 방법은 다음과 같습니다. 1. Vue.util.typeCheck를 사용합니다. 2. Object.prototype.toString.call(myVariable)을 사용합니다. 3. Babel의 변환 유형 기호 플러그인을 사용합니다.
typeof는 Vue에서 유효하지 않습니다.
Vue.js에서 변수 유형을 확인하기 위해 typeof
연산자를 사용하면 Vue의 고유한 반응 시스템이 변수를 처리하기 때문에 실패할 수 있습니다. 대리인. typeof
运算符来检查变量的类型可能会失效,因为 Vue 特有的响应式系统会对变量进行代理。
原因:
当一个变量被响应式地代理时,它会被一个包裹对象(wrapper object)替换。这个包裹对象会劫持对变量的访问,使之在值发生变化时能够自动触发更新。
解决方法:
为了在 Vue 中正确检查变量的类型,可以使用以下方法之一:
Vue.util.typeCheck
:<code class="js">import { typeCheck } from 'vue/types/util' typeCheck(myVariable) === 'Object' // true</code>
Object.prototype.toString.call(myVariable)
:<code class="js">Object.prototype.toString.call(myVariable) === '[object Object]' // true</code>
transform-typeof-symbol
插件:此插件会将 typeof
运算符编译成更可靠的替代方案。具体使用方法请参考 Babel 文档。
注意:
Vue.util.typeCheck
只能检查基础类型(如 Object
、Array
和 String
)。Object.prototype.toString.call(myVariable)
可以检查更广泛的类型,包括 Vue 特有的类型。transform-typeof-symbol
Vue.util.typeCheck
사용: 🎜🎜 🎜rrreeeObject.prototype.toString.call(myVariable)
사용: 🎜🎜🎜rrreeetransform-typeof- 사용 기호
플러그인: 🎜🎜🎜🎜이 플러그인은 typeof
연산자를 보다 안정적인 대안으로 컴파일합니다. 구체적인 사용법은 Babel 문서를 참조하세요. 🎜🎜🎜참고: 🎜🎜Vue.util.typeCheck
는 기본 유형(예: Object
, Array
)만 확인할 수 있습니다. 및 문자열
). 🎜Object.prototype.toString.call(myVariable)
은 Vue 특정 유형을 포함하여 더 넓은 범위의 유형을 확인할 수 있습니다. 🎜transform-typeof-symbol
플러그인은 Babel 구성에서 활성화되어야 합니다. 🎜🎜위 내용은 typeof가 vue에서 작동하지 않습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!