当前位置:首页 > 日记 > 正文

浅谈Vue父子组件和非父子组件传值问题

浅谈Vue父子组件和非父子组件传值问题

本文介绍了浅谈Vue父子组件和非父子组件传值问题,分享给大家,具体如下:

1.如何创建组件

1.新建一个组件,如:在goods文件夹下新建goodsList.vue

<template>  <div class='tmpl'>    goodsList组件  </div></template><style></style><script>  export default {    data() {      return{}    },    created() {    },    methods: {    },    components:{    }  }</script>

2.在main.js中引入 import goodsList from 'goods/goodsList.vue'

3.在main.js中创建路由对象,创建路由规则

const router = new VerRouter({  routes[    {path:/goods/goodsList,component:goodsList}  ]})

4.在主组件App.vue中设置 <router-link to="/goods/goodsList">商品列表</router-link>

系统会自动帮我们把这个标签转化为a标签href="#/goods/goodsList" rel="external nofollow"

2.如何在父组件中嵌入子组件

1.新建一个子组件 subcomponent.vue

2.在父组件中引入 import subComponent from '../subComponent/subcomponent.vue'

3.在父组件中注册 components

 export default {    components:{      //如果属性名和值相同,可以简写      subComponent    }  }

4.在父组件指定位置写一个自定义标签<subComponent></subComponent>

3.如何实现父子组件之间的传值

1.父组件向子组件传值

1.在子组件中设置props:['commentId'] //子组件用来接收父组件传递过来值的属性名称

2.在父组件的自定义子组件标签中设置<subComponent :commentId="this.$route.params.photoId"></subComponent>//父组件传递值给子组件

2.子组件向父组件传值

1.在父组件的自定义标签中设置一个自定义函数<subComponent v-on:paramsChange="getSubComponentParams"></subComponent>

2.在父组件的methods中声明函数

  getSubComponentParams(params){  //接收来自子组件的参数params    this.myParams = params;  }

3.在子组件中传递参数

  /**  * 参数1:要触发的事件名称  * 参数2:传递的值  */  this.$emit('paramsChange',this.params)

如何实现非父子组件的传值

非父子组件中两个组件没有联系,不能使用this来传值,所以我们只能通过第三方的变量,来达到传值的效果,这个第三方变量就是:

使用一个空的 Vue 实例作为中央事件总线

传值步骤:

1.创建一个公用js组件 在组件内导出一个空的Vue实例,比如新建一个commonvue.js文件

import Vue from 'vue'export default new Vue() //es6的写法/** * 相当于下面这样写 *  * const bus = new Vue() * module.exports = bus */

2.在组件A中传递参数

bus.$emit('goodsCount',this.myCount)

3.在组件B中接收参数

bus.$on('goodsCount',(goodsCount)=>{   const oldVal = $("#badgeId").text()   const lastVal = parseInt(oldVal) + goodsCount   console.log(lastVal)   $("#badgeId").text(lastVal) })

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章

一个Js文件函数中调用另一个Js文件

一个Js文件函数中调用另一个Js文件

文件,函数,方法,调用,演示,我们知道,在html中,利用<script language="javascript" type="text/javascript" src="./script.js"></script>引入的两个js是不可以相互调用的。那么该如何解决呢?当然,你可以将代码通通copy过来,也许你并不喜欢…

PHP实现腾讯与百度坐标转换

PHP实现腾讯与百度坐标转换

坐标转换,百度,腾讯,电脑软件,PHP,废话不多说,直接上代码public function coordinate_switch($a,$b){//百度转腾讯坐标转换 $x = (double)$b - 0.0065; $y = (double)$a - 0.006; $x_pi = 3.14159265358979324; $z = sqrt($x * $x+$y * …

如何在Word2003文档修改修改添加备

如何在Word2003文档修改修改添加备

修改,文档,备忘录,如何在,电脑软件,一般来说,评审会修改原文件的内容,你可以添加注释的修改的地方。这是修订后的功能的话,这主要是因为我们之前的话使方便。以下是小编辑给你带来了关于修订内容在帮助你希望添加一个文件格式。 内容之前修改…

php实现中文转数字

php实现中文转数字

中文,转数,电脑软件,php,分享一个辅助函数,使用php尽可能识别出字符串中的数字,先上代码function checkNatInt($str) { $map = array( '一' => '1','二' => '2','三' => '3','四' => '4','五' => '5','六' => '6…

cdr中想要制作艺术蜡笔效果的?

cdr中想要制作艺术蜡笔效果的?

蜡笔,效果,艺术,电脑软件,cdr,cdr中想要制作一个蜡笔画效果的图,该怎么给图片制作蜡笔效果呢?下面我们就来看看详细的教程。软件名称:CorelDraw x6 (Cdr x6) 官方简体中文破解版(32位)安装图文教程、破解注册方法软件大小:更新时间:2014-08-271、…

PS淘宝金属皮带扣图形美化过程共享

PS淘宝金属皮带扣图形美化过程共享

淘宝,图形,过程,电脑软件,PS,版权:原作者JamesVin 感谢JamesVin 原有的经验分享! PS淘宝金属皮带扣的朋友照片修饰美化过程分享的整个过程,金属皮带扣的修饰和美化材料,包括抠图、分类、运动模糊、噪声+灯+面膜11部分,强调的是实用,初学者可能会…

JavaScript 网页中实现一个计算当

JavaScript 网页中实现一个计算当

网页,计算,倒数,还剩,当年,看到网上这个程序 发现了处错误这里改正了一下:function counter() { var date = new Date(); var year = date.getFullYear(); var date2 = new Date(year, 11, 30, 23, 59, 59); /*转换成秒*/ var tim…

根号怎么打?Word中怎么打根号2和根

根号怎么打?Word中怎么打根号2和根

根号,电脑软件,Word,在数学运算中我们经常需要运算到根号(&radic;),根号看似简单,但要你在电脑中打出根号符号,相信对于很多菜鸟朋友来说并不是一件的简单的事情,虽然在网上有个最简答的方法:直接在网上搜索根号符号,很多网页上均有直接复制即可,…

JS实现禁止高频率连续点击的方法【

JS实现禁止高频率连续点击的方法【

连续,语法,方法,高频率,电脑软件,本文实例讲述了JS实现禁止高频率连续点击的方法。分享给大家供大家参考,具体如下:1、类似react的数据流,点击之后立即设置值为空,当返回值后才可以点击2、设置定时器,每次进入之前先清空掉定时器,然后开启定时器<…

在Ajax请求中解决数组的问题

在Ajax请求中解决数组的问题

数组,请求,电脑软件,Ajax,我们都应该注意,当我们用数组在ajax请求中发送数据时,我们不能像普通JSON数据那样直接发送数据。 例如,有这样的数据需要返回到后台: { 行:22, resourcejson :{ { carcapacity :223, 车号:123 DriverInfo: 123 FailReason: …

IIS不支持含中文的url解决方法

IIS不支持含中文的url解决方法

解决方法,中文,不支持,电脑软件,IIS,iis 不能下载包含中文文件名的rar文件最近发现IIS不能下载中文名称的文件,觉得很奇怪。版本:windows2003server+iis6应该是没问题的啊。上网查了一下,说:在运行里打开注册表:桌面左下角“开始”菜单,运行,输入…

手把手教你如何安装计算机双系统

手把手教你如何安装计算机双系统

双系统,安装,手把手,教你如何,电脑软件,  今天小编提供的重装双系统所有操作都是在xp环境中完成的,在win7环境下做的演示,在xp系统中操作方法是一样的。不过要双系统安装注意顺序,只能是从xp到win7,而不能从win7到xp,否则会只能默认进入win7系…