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 相关文章推荐
使用jquery实现图文切换效果另加特效
Jan 20 Javascript
jquery中文乱码的多种解决方法
Jun 21 Javascript
使用GruntJS构建Web程序之合并压缩篇
Jun 06 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
Aug 10 Javascript
javascript中错误使用var造成undefined
Mar 31 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
Jul 14 Javascript
基于jQuery实现数字滚动效果
Jan 16 Javascript
基于JavaScript定位当前的地理位置
Apr 11 Javascript
详解vue 组件之间使用eventbus传值
Oct 25 Javascript
微信小程序实现顶部导航特效
Jan 28 Javascript
Vue自定义全局Toast和Loading的实例详解
Apr 18 Javascript
vue filter 完美时间日期格式的代码
Aug 14 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设计模式 Template (模板模式)
2011/06/26 PHP
Smarty中调用FCKeditor的方法
2014/10/27 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
php实现Mysql简易操作类
2015/10/11 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
分享十五款 jQuery 社交网络分享插件
2015/05/16 Javascript
微信小程序实战之运维小项目
2017/01/17 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
微信小程序中时间戳和日期的相互转换问题
2018/07/09 Javascript
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
示例vue 的keep-alive缓存功能的实现
2018/12/13 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
Vue中添加滚动事件设置的方法详解
2020/09/14 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
[02:39]DOTA2国际邀请赛助威团西雅图第一天
2013/08/08 DOTA
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
Python tkinter事件高级用法实例
2018/01/31 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
Python jieba库分词模式实例用法
2021/01/13 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
咖啡馆创业计划书
2014/01/26 职场文书
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
解除处分决定书
2015/06/25 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
python中redis包操作数据库的教程
2022/04/19 Python