如何实现v-for循环出来的列表里面的click事件只对当前列表内的元素有效
<!DOCTYPE html><html><head><script type="text/javascript" src="js/vue.js"></script></head>&l
·
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/vue.js"></script>
</head>
<body>
<div id="app">
<ul id="place">
<li v-for="city in cities" v-on:click="onclick(city)">
<p v-show='city.show'>{{city.capital}}</p>
</li>
</ul>
</div>
</body>
<script type="text/javascript">
var vue = new Vue({
el: '#place',
data: {
cities: [{
provience: '陕西',
capital: '西安',
show: true
}, {
provience: '山西',
capital: '太原',
show: true
}, {
provience: '甘肃',
capital: '兰州',
show: true
}]
},
methods: {
onclick: function(city) {
city.show = !city.show;
}
}
});
</script>
</html>
核心在哪里?将当前被点击的元素传递到函数中,例如,本例中,
修改被点击元素的show属性,从而实现元素的显示和隐藏。
<html>
<head>
<script type="text/javascript" src="js/vue.js"></script>
</head>
<body>
<div id="app">
<ul id="place">
<li v-for="city in cities" v-on:click="onclick(city)">
<p v-show='city.show'>{{city.capital}}</p>
</li>
</ul>
</div>
</body>
<script type="text/javascript">
var vue = new Vue({
el: '#place',
data: {
cities: [{
provience: '陕西',
capital: '西安',
show: true
}, {
provience: '山西',
capital: '太原',
show: true
}, {
provience: '甘肃',
capital: '兰州',
show: true
}]
},
methods: {
onclick: function(city) {
city.show = !city.show;
}
}
});
</script>
</html>
核心在哪里?将当前被点击的元素传递到函数中,例如,本例中,
修改被点击元素的show属性,从而实现元素的显示和隐藏。
更多推荐
已为社区贡献7条内容
所有评论(0)