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 相关文章推荐
ie8下修改input的type属性报错的解决方法
Sep 16 Javascript
jQuery选择器源码解读(五):tokenize的解析过程
Mar 31 Javascript
Node.js DES加密的简单实现
Jul 07 Javascript
JS回调函数简单用法示例
Feb 09 Javascript
windows下vue.js开发环境搭建教程
Mar 20 Javascript
javascript+jQuery实现360开机时间显示效果
Nov 03 jQuery
详解weex默认webpack.config.js改造
Jan 08 Javascript
vue toggle做一个点击切换class(实例讲解)
Mar 13 Javascript
Vue 全局loading组件实例详解
May 29 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 jQuery
js验证密码强度解析
Mar 18 Javascript
利用原生JS实现欢乐水果机小游戏
Apr 23 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
php学习 字符串课件
2008/06/15 PHP
处理php自动反斜杠的函数代码
2010/01/05 PHP
php日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
Google 静态地图API实现代码
2010/11/19 Javascript
js 为label标签和div标签赋值的方法
2013/08/08 Javascript
函数式 JavaScript(一)简介
2014/07/07 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
CSS javascript 结合实现悬浮固定菜单效果
2015/08/23 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
JS搜狐面试题分析
2016/12/16 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
仅用50行代码实现一个Python编写的计算器的教程
2015/04/17 Python
python实现下载指定网址所有图片的方法
2015/08/08 Python
如何利用Fabric自动化你的任务
2016/10/20 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
使用python实现http及ftp服务进行数据传输的方法
2018/10/26 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
2018/11/10 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
CSS3中的5个有趣的新技术
2009/04/02 HTML / CSS
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
机械专业毕业生自荐信
2013/11/02 职场文书
消防应急演练方案
2014/02/12 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
还款承诺书范本
2015/01/20 职场文书
瘦西湖导游词
2015/02/03 职场文书
结婚十年感言
2015/07/31 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL