Vue.js를 사용한 커스텀 v-모델: 업데이트
5379 단어 vuejavascript
v-model
기능을 처리하는 방법을 설명하는 기사를 썼습니다.나는 최근에 감시자가 필요하지 않은 다른 방법을 발견하여 코드를 훨씬 빠르고 리소스를 적게 사용합니다.
원래 게시물은 다음 방법을 제안했습니다.
<template>
<div class="custom-input">
<input v-model="localValue" placeholder="Enter your name">
</div>
</template>
<script>
export default {
name: "TextField",
props: {
value: String // 1. Receives the value as a prop
},
data() {
return {
localValue: ""
};
},
created() {
this.localValue = this.value; // 2. Copy the value in a local value variable
// Set a watcher to emit the changes to the parent component
this.$watch("localValue", value => {
this.$emit("input", value);
});
}
};
</script>
작동하는 동안 여기에서 감시자를 사용하면 리소스가 많이 소모될 수 있습니다(특히 이러한 구성 요소를 많이 만드는 경우).
더 나은 접근 방식은 다음과 같이 계산된 속성을 사용하는 것입니다.
<template>
<div class="custom-input">
<input v-model="localValue" placeholder="Enter your name">
</div>
</template>
<script>
export default {
name: "TextField",
props: {
value: String // 1. Receives the value as a prop
},
computed: {
localValue: {
get() {
return this.value;
},
set(value) {
this.$emit('input', value);
}
}
};
</script>
상용구 코드를 줄일 뿐만 아니라 감시자 사용을 방지하여 구성 요소를 더 빠르게 만들고 리소스를 덜 사용하게 합니다 🎉
Reference
이 문제에 관하여(Vue.js를 사용한 커스텀 v-모델: 업데이트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/valentinprgnd/custom-v-model-with-vuejs-update-3han텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)