方法写在methods中
v-on:click="run()"
@click="run()"
方法获取data中的数据通过this.数据获取
方法设置data中的数据通过this.数据=''设置
例如通过this.list=[1,2,3],设置list的值,让页面出循环list
可通过 @click="run('123')",将值传到方法中
可通过 @click="run($event)",将事件对象传到方法中,然后根据事件对象的e.srcElement设置点击标签的属性,也可以通过e.srcElement.dataset获取自定义属性
<template>
<div id="app">
{{msg}}
<button @click="run()">@click事件触发</button>
<button v-on:click="runvon()">v-on:click事件触发</button>
<button @click="getMsg()">获取data.msg</button>
<button v-on:click="setMsg()">设置data.msg</button>
<ul>
<li v-for="item in list">{{item}}</li>
</ul>
<button @click="setList()">设置List的值</button>
<button @click="sendData('123')">方法传值</button>
<button v-on:click="sendEvent($event)">传递事件对象</button>
<button @click="sendEventSet($event)">传递事件对象,并设置背景色</button>
<button data-a="啦啦啦" @click="sendEventData($event)">传递事件对象,并获取自定义属性</button>
</div>
</template>
<script>
export default {
name: 'app',
data () {
return {
msg: '123',
list:[]
}
},
methods:{
run(){
alert("@click事件触发")
},
runvon(){
alert("v-on:click事件触发")
},
getMsg(){
alert("我获取到了msg"+this.msg);
},
setMsg(){
this.msg="我是设置后的值"
},
setList(){
for(var i = 0 ; i < 10 ; i++){
this.list.push(i)
}
},
sendData(a){
alert("穿过来的值是:"+a)
},
sendEvent(e){
console.log(e);
},
sendEventSet(e){
e.srcElement.style.background="red";
},
sendEventData(e){
alert(e.srcElement.dataset.a)
}
}
}
</script>
<style lang="scss">
</style>
补充知识:Vue 兄弟组件通过事件广播传递数据
非父子组件传值
通过事件广播实现非父子组件传值
1.新建js,引入并实例化Vue
import Vue from 'vue' var VueEvent = new Vue(); export default VueEvent;
2.子组件A中引入VueEvent,并广播事件
import VueEvent from '../model/VueEvent.js'
VueEvent.$emit('to-news',this.msg);
3.子组件B中引入VueEvent,并监听事件
import VueEvent from '../model/VueEvent.js'
VueEvent.$on('to-news',data=>{console.log(data);});
示例代码
import Vue from 'vue' var VueEvent = new Vue(); export default VueEvent;
<template>
<div id="home">
<button @click="sendMsg()">我来触发事件</button>
</div>
</template>
<script>
import VueEvent from "../models/VueEvent.js";
export default {
data() {
return {
msg: "我是Home的msg"
};
},
methods: {
sendMsg() {
VueEvent.$emit("tonews", this.msg);
}
}
};
</script>
<style>
</style>
<template>
<div id="news">
我来接受事件--{{msg}}
</div>
</template>
<script>
import VueEvent from "../models/VueEvent.js";
export default {
data() {
return {
msg: "我是News的msg"
};
},
mounted() {
VueEvent.$on("tonews", res => {
this.msg = res;
});
}
};
</script>
<style>
</style>
<template>
<div id="app">
<v-home></v-home>
<hr />
<v-news></v-news>
</div>
</template>
<script>
import Home from "./components/Home.vue";
import News from "./components/News.vue";
export default {
name: "app",
data() {
return {
msg: "Welcome to Your Vue.js App"
};
},
components: {
"v-home": Home,
"v-news": News
}
};
</script>
<style lang="scss">
</style>
以上这篇Vue执行方法,方法获取data值,设置data值,方法传值操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。