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中的History历史对象
Jan 16 Javascript
基于jQuery的烟花效果(运动相关)点击屏幕出烟花
Jun 14 Javascript
jquery 追加tr和删除tr示例代码
Sep 12 Javascript
jQuery实现拖拽效果插件的方法
Mar 23 Javascript
JavaScript数据类型之基本类型和引用类型的值
Apr 01 Javascript
Javascript连接Access数据库完整实例
Aug 03 Javascript
详解Node.js中的事件机制
Sep 22 Javascript
jQuery实现对象转为url参数的方法
Jan 11 Javascript
BootStrap表单时间选择器详解
May 09 Javascript
vue实现表单录入小案例
Sep 27 Javascript
python虚拟环境 virtualenv的简单使用
Jan 21 Javascript
Vue export import 导入导出的多种方式与区别介绍
Feb 12 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
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
PHP中使用循环实现的金字塔图形
2014/11/08 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
用php+ajax新建流程(请假、进货、出货等)
2017/06/11 PHP
Using the TextRange Object
2006/10/14 Javascript
实现超用户体验 table排序javascript实现代码
2009/06/22 Javascript
JavaScript 创建对象
2009/07/17 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
JS获取下拉列表所选中的TEXT和Value的实现代码
2014/01/11 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
Javascript获取数组中的最大值和最小值的方法汇总
2016/01/01 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
2017/03/13 Javascript
nodejs连接mysql数据库简单封装示例-mysql模块
2017/04/10 NodeJs
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
微信小程序性能优化之checkSession的使用
2019/03/06 Javascript
Windows下安装python2和python3多版本教程
2017/03/30 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
2017/09/28 Python
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
Python基础学习之类与实例基本用法与注意事项详解
2019/06/17 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
使用OpenCV对车道进行实时检测的实现示例代码
2020/06/19 Python
详解python 内存优化
2020/08/17 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
关于Java finally的面试题
2016/04/27 面试题
大学生演讲稿范文
2014/01/11 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
2014年服务员个人工作总结
2014/12/23 职场文书
团代会邀请函
2015/02/02 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js
Python语言规范之Pylint的详细用法
2021/06/24 Python
Python可视化学习之seaborn调色盘
2022/02/24 Python