【发布时间】:2023-03-12 07:08:01
【问题描述】:
我正在尝试从 jQuery 切换到 Vue.js,但我对此有点坚持。我在页面上有 3 个按钮。当我单击一个按钮时,我希望所有其他按钮将背景颜色更改为绿色,并且单击的按钮将其颜色更改为黑色。
使用 jQuery 只需 2 行代码,但我不知道如何使用 Vue.js 来完成它。 Vue.js 似乎也没有 this 关键字。
另外,在这一点上,我只想应用原始 css background-color 属性而不是应用一个类。
这是我的 jQuery 代码 - 非常简单
<div class="main-content-area">
<div class="btn">Click me!</div>
<div class="btn">Click me!</div>
<div class="btn">Click me!</div>
</div>
const Example = new Vue({
el: '.main-content-area',
methods: {
addEventListeners() {
$(document).ready(function() {
$(".btn").click(function() {
$(".btn").css("background-color", "green"); // Make all buttons green
$(this).css("background-color", "black"); // Make the clicked button black
});
});
}
},
mounted: function() {
this.addEventListeners();
}
})
使用 Vue.js - 我只能做到这一点......
<div class="main-content-area">
<div class="btn" @click="changeColor">Click me!</div>
<div class="btn" @click="changeColor">Click me!</div>
<div class="btn" @click="changeColor">Click me!</div>
</div>
const Example = new Vue({
el: '.main-content-area',
methods: {
changeColor() {
// Change color to green for all .btn elements
// and change color for clicked .btn to black
}
})
【问题讨论】:
标签: javascript jquery vue.js