vue 实现父子组件传值和子父组件传值

vue 实现父子组件传值和子父组件传值先上一张图,vue父子组件传值都用的图片。从张图入手了解如何传参。一、父组件1.引入子组件importrandomfrom”./child-random-paper”;2.注册子组件components:{random,},3.静态组件,循环体<liv-for=”(item,index)inselectedTypeQuestion”:key=”item.id”:ind…

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

先上一张图,vue 父子组件传值都用的图片。从张图入手了解如何传参。

vue 实现父子组件传值和子父组件传值

一、父组件

1.引入子组件

import random from "./child-random-paper";

2.注册子组件 

components: {
    random,
  },

3. 静态组件,循环体

 <li
        v-for="(item, index) in selectedTypeQuestion"
        :key="item.id"
        :index="index"
        style="margin-top:10px"
      >
//引入子组件
        <random
          :questionType="selectTypeOfQuestion"
          :courseIds="courseId"
          :questionCount="testCountArray[index]"
          :questionTypeIds="questiontypeIdArray[index]"
          :index="index"
          @getValue="getMoreInfo"
          @getSource="getSource"
          @removeRandom="removeRandom"
        ></random>
      </li>

vue 实现父子组件传值和子父组件传值

通过循环试题类型数组,渲染子组件 

下拉框内容(每种题型只能出现一次)

4.子组件循环的数组就是这里push的value,是每种渲染出来的题型。

  //下拉框,查看该课程下的题型,如果试题模板为空,则渲染失败,提示输入题型。
    //否则选择子组件
    //查询该课程下的剩余试题
    selectChange(value) {
      //先判断数据中是否有该内容,如果没有加到数据,如果有不加到数组:
      if (this.selectedTypeQuestion.indexOf(value) == -1) {
        if (this.courseTemplate == "" || this.courseTemplate == undefined) {
          this.$confirm("请先输入试卷名称和总分值", "提示", {
            confirmButtonText: "确定",
            type: "warning",
          })
            .then(() => {})
            .catch(() => {
              this.$message({
                type: "info",
                message: "已取消删除",
              });
            });
        } else {
         this.selectedTypeQuestion.push(value);
    }
}

二、子组件

1.向父组件传值

用$emit函数进行传参,$emit函数用于防止子组件越权。向父组件传参的时候有两个内容,一个是父组件的方法,,这个方法用于监听子组件内容发生变化,及时能传给父组件。另外就是需要传的参数,这里的参数可以是一个,也可以是多个。 

handleChange(value) {
      console.log("题型的总成绩为:" + this.questionTypeAllSource);
      this.AllSource = this.questionTypeAllSource;
      this.$emit(
        "getValue",
        this.formInline,
        this.isExtractModel,
        this.AllSource
      );
    },

2.传递过去的参数(对象的形式),每个变量在父页面显示,动态变化

 formInline: {
        // 题型名称
        questionType: "",
        // 题型个数
        questionNum: "0",
        // 每题分数
        questionValue: "0",
        // 该题型的总共的分数
        AllSource: "",
        optionDisorder: "",
        //是否按空给分
        isBlanks: 0,
        //试题分类id
        questionClassifyId: "随机",
        // 章节id  
        questionClassifyObject: "",
        //是否自定义
        isCustom: 0,
        degree: 0,
        //是否必抽题
        isExtracts: 0,
        //当前剩余可选数量
        currentNum: "",
      },

 对应关系

vue 实现父子组件传值和子父组件传值

3.接受父组件传过来的值(用props接受) 

// 接受父组件传递过来的题型
  props: {
    questionType: {
      type: String,
      default: "",
    },
    index: "",
    questionLists: "",
    //每次循环渲染的时候传进来的题库剩余个数
    questionCount: "",
    //每次循环渲染的时候传进来的题型Id
    questionTypeIds: "",
    //课程id
    courseIds: "",
  },

 运用,下拉框为父组件的内容,选中的时候传到子组件,显示出来。

vue 实现父子组件传值和子父组件传值

三、效果

vue 实现父子组件传值和子父组件传值

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

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

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


相关推荐

  • 网页木马是什么原理啊_浏览器中了木马怎么办

    网页木马是什么原理啊_浏览器中了木马怎么办网页挂马的实质是利用漏洞向用户传播木马下载器,当我们更清楚了这点就能做到有效的防范。网页木马就是网页恶意软件威胁的罪魁祸首,和大家印象中的不同,准确的说,网页木马并不是木马程序,而应该称为网页木马“种植器”,也即一种通过攻击浏览器或浏览器外挂程序(目标通常是IE浏览器和ActiveX程序)的漏洞,向目标用户机器植入木马、病毒、密码盗取等恶意程序的手段首先明确,网页木马实际上是一个HTML网页,与其

    2022年10月30日
    0
  • 卷积神经网络(3)—-经典网络

    卷积神经网络(3)—-经典网络

    2021年6月17日
    146
  • 输入法个性化怎么设置_手机输入键盘怎么个性化设置

    输入法个性化怎么设置_手机输入键盘怎么个性化设置个性化设置技巧(补充输入法)子墨居士前言本次的内容大部分为推送。本打算自己推荐几款比较好用的桌面整理软件,然而最近事情越来越多,这部分的内容分享已经有很多不错的文章。就允许我偷一次懒呗(…

    2022年10月29日
    0
  • pycharm2021.12.13 10月29 激活码【2021.10最新】

    (pycharm2021.12.13 10月29 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1435QFILVV-eyJsaWN…

    2022年3月30日
    32
  • Spring boot zuul 网关「建议收藏」

    Spring boot zuul 网关「建议收藏」Zuul作为微服务系统的网关组件,用于构建边界服务,致力于动态的路由、过滤、监控、弹性伸缩和安全。其中Zuul、Ribbon以及Eureka的结合使用可以实现智能路由和负载均衡的功能,网关将所有的服务的API接口统一聚合,统一对外暴露,外界调用API的接口的时候,不需要知道微服务系统中各服务相关调用的复杂性,保护了内部微服务单元的API接口,网关可以做用户身份认证和权限认证,防止非法请求操作a…

    2022年8月15日
    4
  • full gc原因(解决问题的方法有哪些)

    #问题描述在工作过程中,遇到一个问题:Tomcat在重启或者发布的时候,会有多次的fullGC。JDK版本是1.8首先排查JVM的问题,就要把GC日志打开-XX:+PrintGC-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintGCDateStamps-Xloggc:/home/logs/gc.log重启Tomcat…

    2022年4月12日
    154

发表回复

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

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