var city = new Vue({
el:'.city',
data:{
choices:[
{cities:'北京'},
{cities:'上海'},
{cities:'福州'},
{cities:'广州'},
{cities:'青岛'}
]
},
methods:{
changeCity:function(){
$(this).css('color','red').siblings().css('color',''); //问题在这里,这里的this好像不是指向点击的那个元素,好像是指向vue里面的,该怎么办?
}
}
});
切换城市:
{{item.cities}}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
为什么不用
vue中的class与style绑定呢?我之前写过一篇文章介绍使用Vue.js实现选中高亮的效果,很简洁:
使用Vue.js实现列表选中效果
或者你也可以参考下面例子:
https://jsfiddle.net/xiaoluoboding/z5xusoL9/
vue中methods对象里的函数, this指向的都是当前实例或者组件
改成
改成
你这样写的this是指向一个vue的实例vm;需要注意的是这里是vue不是jQuery哦,我觉得在vue中吧样式绑定到数据挺好的,这样就不用直接操作dom啦