<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 = "编辑"; } } }