반응형
V-for에서 여러 기능을 연결할 수 있습니까?
요소 배열이 있으므로 해당 요소를 div에 렌더링하고 각 요소에 다른 클릭 기능을 추가해야 합니다.
<template>
<div class="container">
<div v-for="option in options" :key="option.id" @click="option.clickFunction">.
{{option}}
</div>
</div>
</template>
<script>
export default{
data(){
return{
options: [
{
id: 1,
text: "option 1",
clickFunction: "function1",
},
{
id: 2,
text: "option 2",
clickFunction: "function2",
},
{
id: 3,
text: "option 3",
clickFunction: "function3",
},
{
id: 4,
text: "option 4",
clickFunction: "function4",
},
{
id: 5,
text: "option 5",
clickFunction: "function5",
},
],
}
}
methods:{
//defining all click functions
}
}
</script>
위의 방법을 시도해 봤지만 효과가 없습니다만, 어떻게 할 수 있을까요?
각 객체의 각 clickFunction 속성은 문자열이기 때문에 이 방법은 사용할 수 없습니다.@click Atribute는 보통 오래된 문자열에서 무엇을 할 예정입니까?해라
<template>
<div class="container">
<div v-for="option in options" :key="option.id" @click="option.clickFunction">
<!-- I'm guessing you meant option.text here -->
{{option.text}}
</div>
</div>
</template>
<script>
export default{
data(){
return{
// pass functions around instead of strings!
options: [
{
id: 1,
text: "option 1",
clickFunction: this.myUniqueClickHandler,
},
{
id: 2,
text: "option 2",
clickFunction: this.myOtherUniqueClickHandler,
},
// etc.
],
}
}
methods:{
myUniqueClickHandler() {
// ...
},
myOtherUniqueClickHandler() {
// ...
}
}
}
</script>
각 아이템의 클릭을 듣고 싶은 것 같습니다.따라서 모든 메서드 또는 함수를 1개만 선언하고 각 항목의 키 값을 매개 변수로 전달해야 합니다.그런 다음 switch 문 또는 if 문을 사용하여 어떤 옵션을 클릭했는지 검출합니다.코드를 Bellow로 변경했습니다.
<template>
<div class="container">
<div v-for="option in options" :key="option.id" @click="myFunction(option.id)">.
{{option}}
</div>
</div>
</template>
<script>
export default{
data(){
return{
}
}
methods:{
myFunction(id) {
switch (id) {
case 1:
// option 1 is clicked
break;
case 2:
// option 2 is clicked
break;
case 3:
// option 3 is clicked
break;
case 4:
// option 4 is clicked
break;
default:
break;
}
}
}
}
</script>
언급URL : https://stackoverflow.com/questions/70321258/is-it-possible-to-attach-multiple-functions-in-v-for
반응형
'programing' 카테고리의 다른 글
Vue.js v-for 루프에서 이벤트 처리 동적 생성 버튼 (0) | 2022.07.30 |
---|---|
Java에서 int 어레이를 되돌리려면 어떻게 해야 하나요? (0) | 2022.07.30 |
연산자 우선 순위와 평가 순서 (0) | 2022.07.30 |
호스트 "를 확인할 수 없습니다. 호스트 이름과 연결된 주소가 없습니다. (0) | 2022.07.30 |
마운트된 속성 변경 사항이 VueJ에서 트리거되지 않음s (0) | 2022.07.30 |