当前位置: 首页 > 编程笔记 >

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

胥良平
2023-03-14
本文向大家介绍Vue执行方法,方法获取data值,设置data值,方法传值操作,包括了Vue执行方法,方法获取data值,设置data值,方法传值操作的使用技巧和注意事项,需要的朋友参考一下

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

 类似资料:
  • 本文向大家介绍JS JQuery获取data-*属性值方法解析,包括了JS JQuery获取data-*属性值方法解析的使用技巧和注意事项,需要的朋友参考一下 下面就详细介绍四种方法获取data-*属性的值 <li id="getId" data-id="122" data-vice-id="11">获取id</li> 需要获取的就是data-id 和 dtat-vice-id的值 一:getAt

  • 本文向大家介绍js获取url传值的方法,包括了js获取url传值的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js获取url传值的方法。分享给大家供大家参考,具体如下: js获取url参数值: index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&...... 静态html文件js读取url参数 根据获取html的参数值控制html页面输出 一、字符串

  • 本文向大家介绍JavaScript设置、获取、清除单值和多值cookie的方法,包括了JavaScript设置、获取、清除单值和多值cookie的方法的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴代码了。 具体代码如下:  以上代码就是本文给大家介绍JavaScript设置、获取、清除单值和多值cookie的方法,有哪里不清楚的地方欢迎给我留言。

  • 本文向大家介绍vue中使用props传值的方法,包括了vue中使用props传值的方法的使用技巧和注意事项,需要的朋友参考一下 1.静态传值(在父组件中赋值好props中属性的值传递给子组件) 父组件 子组件 结果:打印hello 2.动态传递(根据父组件中值的改变,props动态的改变子组件中的值) 父组件 2.子组件 结果:两者同步改变 以上所述是小编给大家介绍的vue中使用props传值的方

  • 下面有一个程序,我正在调用getTotalPasserian(pm)方法,但在获取用户输入的值时遇到了问题。 pm=0、cm=0、pi=0、ci=0、ps=0、cs=0,或者当我试着做pm=gettotalposysers(pm=0)时,它可以工作,但没有向用户显示主菜单printmenu.menu();从上面除了system.out.println(“输入来自马耳他的乘客总数:”);首先从方法中

  • 本文向大家介绍实现在同一方法中获取当前方法中新赋值的session值解决方法,包括了实现在同一方法中获取当前方法中新赋值的session值解决方法的使用技巧和注意事项,需要的朋友参考一下 项目开发中遇到这样一个问题,在同一方法中对session数组进行赋值,但是想在此方法中接着使用此session,因为我是用的if…elseif…,由于排斥作用,在if条件中给session赋值后,再调用方法进入另

  • 6.4. 方法值和方法表达式 我们经常选择一个方法,并且在同一个表达式里执行,比如常见的p.Distance()形式,实际上将其分成两步来执行也是可能的。p.Distance叫作“选择器”,选择器会返回一个方法"值"->一个将方法(Point.Distance)绑定到特定接收器变量的函数。这个函数可以不通过指定其接收器即可被调用;即调用时不需要指定接收器(译注:因为已经在前文中指定过了),只要传入

  • 本文向大家介绍Vue父子模版传值及组件传值的三种方法,包括了Vue父子模版传值及组件传值的三种方法的使用技巧和注意事项,需要的朋友参考一下 这里是针对于vue1.0,如果要学2.0,建议大家去看官方文档 vue2.0 http://vuefe.cn/guide/ vue-router2.0https://router.vuejs.org/zh-cn/essentials/getting-start