Пожалуйста, может кто-нибудь научить меня, как поменять местами два разных данных при нажатии
Например, у нас есть данные
data() {
return {
data_one: [
{
name: "Simo",
age: "32"
}
],
data_two: [
{
name: "Lisa",
age: "25"
}
],
}
},
затем я хочу поместить эти данные в v-for
, и я хочу добавить две кнопки для переключения между data_one и data_two и отображать data_one по умолчанию.
<button @click = "change_to_data_one">Data 1<button>
<button @click = "change_to_data_two">Data 2<button>
<li v-for = "item in data_one">{{item.name}} - {{item.age}}<li>
?????
Попробуйте использовать вычисляемое свойство:
new Vue({
el: "#demo",
data() {
return {
data_one: [{name: "Simo", age: "32"}],
data_two: [{name: "Lisa", age: "25"}],
selected: "data_one"
}
},
computed: {
showData(){
return this[this.selected]
}
},
methods: {
swap(val) {
this.selected = val
}
}
})
<script src = "https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id = "demo">
<button @click = "swap('data_one')">Data 1</button>
<button @click = "swap('data_two')">Data 2</button>
<ul>
<li v-for = "(item, i) in showData" :key = "i">{{item.name}} - {{item.age}}</li>
</ul>
</div>
Потрясающе, легко понять, хорошее объяснение, большое спасибо ????
просто заверните
ul
вli
, иначе это будет недопустимый HTML