当前位置:首页 > vue > 正文内容

vue组件间传值

xi7年前 (2019-11-14)vue1292

父传子

利用props传值,子组件中规定props数据类型,然后父组件使用子组件时需要绑定数据在子组件上:
父组件:

<template>
  <div class="parents-div">
    <!--绑定msg传入子组件-->
    <Children :msg='msg'/>
  </div>
</template>

<script>
import Children from './Children.vue'//引入子组件
export default {
  components:{Children},//注册子组件
  data(){
    return{
      msg:"test",//父组件需要传递的数据
    }
  },
}
</script>
<style scoped>
.parents-div{}
</style>

子组件:

<template>
  <div class="children-div">
    <!--页面中使用数据-->
    {{msg}}
  </div>
</template>

<script>
export default {
  props:{
    msg:String,//子组件需要接受的数据
  },
  components:{},
}
</script>
<style scoped>
.children-div{}
</style>

子传父

利用$emit传值,父组件监听自定义事件,在子组件中通过触发该事件来传值:

子组件:

<template>
  <div class="children-div"></div>
</template>

<script>
export default {
  components: {},
  data() {
    return {
      msg: "test", //子组件需要传递给父组件的数据
    };
  },
  mounted() {
    this.getMsg();
  },
  methods: {
    getMsg() {
      this.$emit("get-msg", this.msg);
    },
  },
};
</script>
<style scoped>
.children-div {
}
</style>

父组件:

<template>
  <div class="parents-div">
    <!--触发自定义事件get-msg接收子组件数据-->
    <Children @get-msg="getMsg" />
  </div>
</template>

<script>
import Children from "./Children.vue"; //引入子组件
export default {
  components: { Children }, //注册子组件
  methods: {
    //获取到子组件传递过来的数据
    getMsg(msg) {
      console.log(msg);
    },
  },
};
</script>
<style scoped>
.parents-div {
}
</style>

vuex传值

vuex相当于一个公共仓库,保存着所有组件都能共用的数据,需要时可以直接使用,不需要考虑组件间是否有引用与被引用的父子关系。

扫描二维码推送至手机访问。

版权声明:本文由曦的博客发布,如需转载请注明出处。

本文链接:http://xiblogs.top:1111/?id=22

返回列表

上一篇:vue中使用sass

下一篇:vuex的使用

“vue组件间传值” 的相关文章

vuex的使用

vuex的使用

vuex是什么vuex是一个专门为vue开发的状态管理工具,它采用集中式存储管理应用的所有组件的状态,其核心是state。 vuex中有什么state:存放状态数据的地方,其中数据是响应式的,数据改变对应组件的数据也会跟新改变,禁止直接改变state中的数据否则数据无法被调试工具监测。getter...

vscode使用vue代码模板

vscode使用vue代码模板

1、vscode中打开:文件>首选项>用户片段>输入vue按下回车2、复制下面代码并保存。 { "Print to console": { "prefix": "vue",...

vue自定义组件的点击事件失效

vue自定义组件的点击事件失效

在vue开发过程中为了减少重复代码,很多时候都需要将重复的部分写成一个组件,方便调用。但是使用组件时很可能又会给该组件添加点击事件。如果直接这样写,事件则会失效:正确写法应该是这样:...

vue中代理解决跨域

跨域是什么简单的讲就是你在一个地方使用另一个地方的资源,被浏览器给挡下来了,不让你用!当然,它挡下来是有自己理由的:为了安全(╬▔皿▔)╯。 解决跨域我是用vue开发的,就vue代理模式解决跨域说明一下。1、在vue.config.js中这样写: let devProxy = { //获取...

DataV兼容vue3的方法

DataV兼容vue3的方法

发现问题在使用vue开发大屏时,发现了一个很好用的可视化组件库DataV(http://datav.jiaminghi.com/ ),不是阿里那个DataV哈,用vue2开发时都一切顺利,直到有一天升级项目到vue3时,发现一堆报错,后面查了下,好像是DataV不兼容vue3,而vue3版本的Dat...

vue导出word文档

vue导出word文档

具体需求在我的项目中有一个功能需要导出word文档,在页面点击按钮后处理数据生成word文件,然后自动下载文档。 实现步骤 多番查询后发现前端导出word,使用docxtemplater(https://docxtemplater.com/ )较为方便。具体使用步骤如下: 安装docxte...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。