Vue执行方法,方法获取data值,设置data值,方法传值操作


Posted in Javascript onAugust 05, 2020

方法写在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值,方法传值操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 获取用户客户端操作系统版本
Aug 25 Javascript
基于jquery的拖动布局插件
Nov 25 Javascript
用jquery写的一个万年历(自写)
Jan 20 Javascript
只需五句话搞定JavaScript作用域(经典)
Jul 26 Javascript
js 创建对象 经典模式全面了解
Aug 16 Javascript
JS实现title标题栏文字不间断滚动显示效果
Sep 07 Javascript
有关文件上传 非ajax提交 得到后台数据问题
Oct 12 Javascript
jQuery实现元素的插入
Feb 27 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
Sep 07 Javascript
Express下采用bcryptjs进行密码加密的方法
Feb 07 Javascript
vue生成token并保存到本地存储中
Jul 17 Javascript
使用Angular自定义字段校验指令的方法示例
Feb 01 Javascript
vue 需求 data中的数据之间的调用操作
Aug 05 #Javascript
js实现简单选项卡制作
Aug 05 #Javascript
vue 内联样式style中的background用法说明
Aug 05 #Javascript
vue flex 布局实现div均分自动换行的示例代码
Aug 05 #Javascript
微信小程序实现上传照片代码实例解析
Aug 04 #Javascript
JavaScript实现烟花绽放动画效果
Aug 04 #Javascript
JS事件循环机制event loop宏任务微任务原理解析
Aug 04 #Javascript
You might like
php注入实例
2006/10/09 PHP
在线增减.htpasswd内的用户
2006/10/09 PHP
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
2012/10/03 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
jquery validate使用攻略 第四步
2010/07/01 Javascript
Javascript倒计时代码
2010/08/12 Javascript
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
js实现字符串转日期格式的方法
2015/05/20 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
JavaScript表单验证完美代码
2017/03/02 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
React SSR样式及SEO的实践
2018/10/22 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
Python列表list数组array用法实例解析
2014/10/28 Python
对于Python中RawString的理解介绍
2016/07/07 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
2019/08/07 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
Python with语句和过程抽取思想
2019/12/23 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
开展读书活动总结
2014/06/30 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
爱国主义主题班会
2015/08/14 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS
Vue3中的Refs和Ref详情
2021/11/11 Vue.js
如何用vue实现网页截图你知道吗
2021/11/17 Vue.js