<div class="switch" @click="toswitch()">编辑</div>//@click="toswitch(item)"
methods:{
toswitch(item) {
if (item.target.innerHTML == "编辑") {
item.target.innerHTML = "完成";
} else {
item.target.innerHTML = "编辑";
}
},
}
以上代码会报错Cannot read properties of undefined (reading ‘target’)
原因是:给了一个不存在的参数item
所以不管是toswitch()还是toswitch(item)都不正确,除非在该div下使用了{{item.参数}}
方法一:
去掉参数,直接写:
<template>
<div class="switch" @click="toswitch">编辑</div>
</template>
方法二:
在vue中,可以直接使用双向绑定
<div class="switch" @click="toswitch">{{ editText }}</div>
data(){
return{
editText: "编辑",
}
}
methods:{
toswitch() {
let self = this;
if(self.editText == "编辑"){
self.editText = "完成";
} else {
self.editText = "编辑";
}
}
}