【VUE】- 前端封装之父子组件传值

【VUE】- 前端封装之父子组件传值前端代码进行抽象与封装离不开父子组件传值问题,做的过程中总有梳理不清楚的时候,在此总结一波,一方面是自己梳理梳理思路,另外一方面有需要的伙伴们也可以瞅一瞅,本文是从开始到最后实现数据的一个操作过程;父组件向子组件传值1、可抽离的静态页面首先是看一下自己的静态页面有哪些相似之处可以被抽象出来,如下面这个页面,看似不一样,实则都是一样的,只是图标和文字内容不一致,OK了解后我们可以开始设计静态页…

大家好,又见面了,我是你们的朋友全栈君。

前端代码进行抽象与封装离不开父子组件传值问题,做的过程中总有梳理不清楚的时候,在此总结一波,一方面是自己梳理梳理思路,另外一方面有需要的伙伴们也可以瞅一瞅,本文是从开始到最后实现数据的一个操作过程;

父组件向子组件传值

1、可抽离的静态页面

首先是看一下自己的静态页面有哪些相似之处可以被抽象出来,如下面这个页面,看似不一样,实则都是一样的,只是图标和文字内容不一致,OK了解后我们可以开始设计静态页面啦;
在这里插入图片描述

<div class="settingListSwitch">
    <img class="settingLogoSwitch" src="../../public/settings/显示.png"/>
    <span class="words">显示单词</span>
    <van-switch size="24px" class="switchSwitch" />
</div>

2、父组件操作

//引入子组件
import momoTemplate from "../../components/momoTemplate.vue";

//注册子组件
export default{
	components:{ momoTemplate }
}

//引入常量js-传入数据
import { settingData, settingSwitchData } from "../../Entity/settingDataEntity";

所引入JS:import { settingData, settingSwitchData } from “…/…/Entity/settingDataEntity”;其中的“settingData”“settingSwitchData”,是我们Js中传出来的变量
在这里插入图片描述
3、显示数据

  1. 在props中写子组件需要的属性
export default {
  props:{
    // 显示文本
    allColumnsTitle:{default: "延迟跳转"},
    //显示开关
    allColumnsSwitch:{default:"0"},
    //开关状态
    isTrue:{default:"false"},
    //显示图标
    arrowIcon: { default: require("../../public/settings/右.png") }, 
  },

与js数据中的值相对应
在这里插入图片描述
2. 父组件-动态绑定数据(子组件需要的数据)

<template>
   <momoTemplate 
      v-for="(item,index) of settingSwitchData"
      :key="index"
      :settingLogoSwitch="settingSwitchData[0].arrowIcon"
      :allColumnsTitle="settingSwitchData[0].allColumnsTitle"
      :isTrue="settingSwitchData[0].isTrue"
      >
  </momoTemplate>
</template>
  1. 子组件-显示父组件传过来的数据
<div class="settingListSwitch">
    <img class="settingLogoSwitch" :src="settingLogoSwitch"/>
    <span class="words">{
  
  {allColumnsTitle}}</span>
    <van-switch v-model="isTrue" size="24px" class="switchSwitch" />
</div>

到此父组件向子组件传值的过程已经完成,接下来是子组件向父组件传值;

子组件向父组件传值

1、子组件:

<di>  
    <van-switch
      v-model="isTrue"
      @change="selectSwitch"
    />
</div>

在这里插入图片描述

// 子组件向父组件传值
    selectSwitch(){ 
   
      this.childIsTrue=this.isTrue;
      this.$emit("listenToChild",this.childIsTrue);
    }

2、父组件:

在这里插入图片描述

// 接收子组件传值,绑定
@listenToChild="changeValue"
changeValue(){ 
   
},

注意:changeValue()默认参数为子组件传递过来的参数,当我们再传递参数时就会覆盖子组件传递过来的参数

父子组件传值的梳理到此告一段落,个人学习及使用的总结,哪里理解偏差的,一起交流学习;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145738.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux下mysql命令

    linux下mysql命令1.linux下启动mysql的命令:mysqladminstart/ect/init.d/mysqlstart(前面为mysql的安装路径)2.linux下重启mysql的命令:mys

    2022年7月2日
    25
  • ide激活码【中文破解版】

    (ide激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~70YZDJVTFP-eyJsaWNlbnNlSWQiOi…

    2022年3月27日
    43
  • java微信企业号40029_微信企业号OAuth2接口40029错误解决方案

    java微信企业号40029_微信企业号OAuth2接口40029错误解决方案微信网页授权获取到的code只能使用一次(5分钟内有效),使用一次后,马上失效。页面授权跳转成功,根据code也换取到openid了。此时刷新页面,并不会再次进行授权,而是直接刷新了一下上一次授权跳转后的链接,带的还是上一次的code(如果你复制当前页面的链接,会发现它就是请求授权的链接,然而,刷新的时候,它访问的并不是这个请求授权链接)。因为上一次的code已经使用过,再根据…

    2022年5月1日
    101
  • .net Parallel.Foreach的Continue和Break和Return;

    .net Parallel.Foreach的Continue和Break和Return;在Foreach的时候需要多加一个ParallelLoopStatevarparallelOption=newParallelOptions(){MaxDegreeOfParallelism=6}; break类似于for的continue,而stop就类似于for的break Parallel.ForEach(As,parallelOption,(A

    2022年7月19日
    13
  • java后端开发需要什么_从事Java后端开发,要学习哪些知识和技能?[通俗易懂]

    java后端开发需要什么_从事Java后端开发,要学习哪些知识和技能?[通俗易懂]很多小伙伴想转行做Java的后端,但是又不知道到底该学习些什么。今天就跟你们聊聊做Java的后端,需要学习和了解什么?1、首先要明确后端包括哪些职业DBA(数据库维护优化专家)Developer(程序猿)Architect(构架师)Scrummaster及类似(敏捷开发专家)ProjectManager(产品狗)Maintenance&ITsupport(通讯和服务器相关)当然这只是一个大…

    2022年7月7日
    21
  • Stimulsoft 仪表板.JS 2022.2.1

    Stimulsoft 仪表板.JS 2022.2.1Stimulsoft仪表板.JS2022.2.1  二维码视觉设计-使用组件编辑器中的属性定义各种图形元素的颜色和形状。  仪表板的新交互式按钮组件-允许您使用脚本平台语言或Blockly执行脚本。它包括几个可视化设置,这些设置取决于按钮的状态。  仪表板的新卡片组件-此分析组件允许您将数据分组、处理和显示为仪表板中的卡片。它支持所有类型的图形表示,包括集群列、色标、指标、气泡和迷你图。它能够显示文本、数值和图像。  仪表板的新图形堆叠图表类型-此图表用于显示值在整体指标中的

    2022年7月26日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号