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 相关文章推荐
比较全面的event对像在IE与FF中的区别 推荐
Sep 21 Javascript
js chrome浏览器判断代码
Mar 28 Javascript
JQuery之focus函数使用介绍
Aug 20 Javascript
JavaScript Split()方法
Dec 18 Javascript
不得不分享的JavaScript常用方法函数集(下)
Dec 25 Javascript
深入理解JS函数的参数(arguments)的使用
May 28 Javascript
js严格模式总结(分享)
Aug 22 Javascript
AngularJS入门教程之数据绑定原理详解
Nov 02 Javascript
jQuery中Datatables增加跳转到指定页功能
Feb 08 Javascript
深入浅出es6模板字符串
Aug 26 Javascript
Vue组件化开发之通用型弹出框的实现
Feb 28 Javascript
浅析JavaScript 函数防抖和节流
Jul 13 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中数字、字符与对象判断函数用法实例
2014/11/26 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
htm调用JS代码
2007/03/15 Javascript
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
javascript操作数组详解
2014/12/17 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
举例讲解Node.js中的Writable对象
2015/07/29 Javascript
JavaScript文档碎片操作实例分析
2015/12/12 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
vue transition 在子组件中失效的解决
2019/11/12 Javascript
原生JS与JQ获取元素的区别详解
2020/02/13 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
Python描述器descriptor详解
2015/02/03 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
2018/04/23 Python
python3 cvs将数据读取为字典的方法
2018/12/22 Python
python中翻译功能translate模块实现方法
2020/12/17 Python
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
转党组织关系介绍信
2014/01/08 职场文书
殡葬服务心得体会
2014/09/11 职场文书
基层领导干部“四风”问题批评与自我批评
2014/09/23 职场文书
写给女朋友的保证书
2015/05/09 职场文书
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs