一. v-on事件绑定
<template>
<div>
<h1>v-on 事件的绑定</h1>
<div>{{number}}</div>
<button v-on:click="add">加1</button>
<button @click="reduce">减1</button>
<button @click="reduce(2,$event)">减2</button>
<hr>
<div v-if="isShow">isSho is true</div>
<div v-else>isSho is false</div>
<button @click="toggle">切换isShow</button>
<hr>
<ul :style="{textAlign:'left'}">
<li v-for="news in newsList" :key="news.id">{{news.title}}</li>
</ul>
<button @click="addNews">添加新闻</button>
<button @click="removeNews">删除新闻</button>
<button @click="updateNews">修改第一条新闻</button>
<hr>
<div v-for="(v,k,i) in obj" :key="k">
{{i}} -- {{k}} -- {{v}}
</div>
<button @click="addAttr()">add attr</button>
<button @click="removeAttr()">reomve attr</button>
<button @click="updateAttr()">update attr</button>
</div>
</template>
<script>
export default {
name: "demo5",
data() {
return {
number: 1,
isShow: true,
newsList: [
{
id: 1,
title: "新闻第1则"
},
{
id: 2,
title: "新闻第2则"
},
{
id: 3,
title: "新闻第3则"
},
{
id: 4,
title: "新闻第4则"
}
],
obj: {
name: "zhangsan",
age: "33",
sex: "man"
}
};
},
methods: {
add(event) {
console.log(event);
this.number++;
},
reduce(val, event) {
console.log(event);
if (typeof val === "number") {
this.number -= val;
} else {
this.number--;
}
},
toggle() {
this.isShow = !this.isShow;
},
addNews() {
this.newsList.unshift({
id: Date.now(),
title: "添加一条新新闻"
});
},
removeNews() {
this.newsList.pop();
},
updateNews() {
this.$set(this.newsList, 0, {
id: Date.now(),
title: "修改了第一条新闻"
});
},
addAttr() {
this.$set(this.obj, "吃饭,睡觉,撸啊撸");
},
removeAttr() {
let _obj = { ...this.obj };
delete _obj.age;
this.obj = { ..._obj };
},
updateAttr() {
this.obj.age = 30;
}
}
};
</script>