vue中通过变量名的字符串,来获取变量并使用
如,有一变量isshow,通过this[`${"isshow"}`]可以获取到变量。例,原:this.isshow = false ,现:this[`${"isshow"}`] = false 。switch1(param) {this[`${param}`] = !this[`${param}`];}<!DOCTYPE html><ht...
·
如,有一变量isShow,通过this[`${"isShow"}`]可以获取到变量。
例,原:this.isShow = false ,现:this[`${"isShow"}`] = false 。
switch1(param) {
this[`${param}`] = !this[`${param}`];
}
`${变量}`是一种字符串拼接的写法,对${变量}调用变量的toString方法。
现在的话,this[param](this["isShow"])就可以了。我记得写这博客的时候,不能这么做。可能是vue、js或者浏览器解析升级了,也说不定是世界线变动了。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 引入Vue -->
<script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
<div id="app" style="height: 600px; width: 500px; margin: 0 auto; display: flex; flex-direction: column; align-items:center;">
<div style="height: 100px; width: 100px; margin-top: 60px;">
<div v-show="isShow" style="height: 100px; width: 100px; background-color: aqua;"></div>
</div>
<button v-on:click="switch1('isShow')" style="height: 50px; width: 80px; margin-top: 30px;"></button>
</div>
<script>
new Vue({
el: '#app',
data: {
isShow: true
},
methods: {
switch1(param) {
this[`${param}`] = !this[`${param}`];
console.log("" + param + " : " + this.isShow)
}
}
});
</script>
</body>
</html>
更多推荐
已为社区贡献4条内容
所有评论(0)