Vue props传递的类型和写法分享

 更新时间:2024年07月26日 11:29:11   作者:D_jing20  
这篇文章主要介绍了Vue props传递的类型和写法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Vue props传递的类型和写法

props常用属性

类型检查(规定数据类型)

类型检查(规定数据类型)typeString 字符串
Number 数字
Boolean 布尔
Array 数组
Object 对象
Date 日期
Function 函数
Symbol 独一无二的值(es6)
默认值defaultdefault : (默认值),基础数据类型: 直接赋值,对象数据类型: 用函数赋值 ()=>[]
必填项requiredrequired: (必填项) ,默认为false,说明父级必须传入,否则会报错
校验validator验证传入的值是否符合规定

props语法

props: {
    prop1: [Boolean, Number], // 多个类型
    prop2: {
      type: Number, // 数字
      default: 100 // 默认值
    },
    prop3: {
      type: Boolean, // 布尔
      required: true // 必填
    },
    prop4: {
      type: String, // 字符串
      required: true
    },
    prop5: {
      type: Array, // 数组 // 对象或数组默认值必须从一个工厂函数获取
      default: () => []
    },
    prop6: {
      type: Object, // 对象 // 对象或数组默认值必须从一个工厂函数获取
      default: function () {
        return { msg: 'hello' }
      }
    },
    prop7: {
      type: String,
      validator: function (t) { // 自定义验证函数
        return t === 'fade' || t === 'slide' // 这个值必须匹配下列字符串中的一个
      },
      defalut:'slide'
    }
  }

Vue props 传递函数

Props的type是函数

通过 props 传递 函数 看看有啥用。

// 父组件

</template>
 <div>
    <children :add='childrenClick'></children>
    <p>{{countF}}</p>
  </div>
</template>

<script>
import children from './Children'
export default {
  name: 'HelloWorld',
  data() {
    return {
      countF: 0,
    }
  },
  methods: {
    childrenClick(c){
     this.countF += c;
    }
  },
  components:{
    children,
  }
}
</script>

// 子组件
<template>
    <div>
        <button @click="handClick(count)">点击加 1 </button>
    </div>
</template>
<script>
export default {
    data() {
        return {
            count:1,
        }
    },
    props:{
        add:{
            type: Function
        }
    },
    methods: {
        handClick(){
            this.add( ++this.count); // 父组件方法
        }
    },
}

结果

可以看到 chirden 组件在中 使用 props.add() , 调用的是 父组件的方法。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 实用的 vue tags 创建缓存导航的过程实现

    实用的 vue tags 创建缓存导航的过程实现

    这篇文章主要介绍了实用的 vue tags 创建缓存导航的过程实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • antd vue 如何调整checkbox默认样式

    antd vue 如何调整checkbox默认样式

    这篇文章主要介绍了antd vue 如何调整checkbox默认样式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • vue2如何实现vue3的teleport

    vue2如何实现vue3的teleport

    这篇文章主要介绍了vue2如何实现vue3的teleport,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • 一起来做一下Vue全局提示组件

    一起来做一下Vue全局提示组件

    前端开发的时候,在项目中引入组件以及使用是非常常见操作,下面这篇文章主要给大家介绍了关于Vue全局提示组件的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Vue3中的 computed,watch,watchEffect的使用方法

    Vue3中的 computed,watch,watchEffect的使用方法

    这篇文章主要介绍了Vue3中的 computed,watch,watchEffect的使用方法,文章围绕主题展开详细的内容介绍,具有一定的参考价价值,需要得小伙伴可以参考一下
    2022-06-06
  • Vue中常用rules校验规则(实例代码)

    Vue中常用rules校验规则(实例代码)

    这篇文章主要介绍了Vue中常用rules校验规则,本文通过实例代码个大家介绍了一些校验方法,需要的朋友可以参考下
    2019-11-11
  • vue登录页面回车执行事件@keyup.enter.native问题

    vue登录页面回车执行事件@keyup.enter.native问题

    这篇文章主要介绍了vue登录页面回车执行事件@keyup.enter.native问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Vue2.x中利用@font-size引入字体图标报错的解决方法

    Vue2.x中利用@font-size引入字体图标报错的解决方法

    今天小编就为大家分享一篇Vue2.x中利用@font-size引入字体图标报错的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vue3+elementui-plus实现无限递归菜单示例代码

    vue3+elementui-plus实现无限递归菜单示例代码

    这篇文章主要介绍了vue3+elementui-plus实现无限递归菜单,当一个组件的 key 值发生变化时,Vue 会认为这是一个新的组件实例,会强制重新创建和渲染这个组件,本文通过示例代码详细讲解,需要的朋友可以参考下
    2024-04-04
  • Vue报错Module build failed: Error: Node Sass version 7.0.1 is incompatible with 4.0.0.解决方案

    Vue报错Module build failed: Error: Node&nb

    这篇文章主要介绍了Vue报错Module build failed: Error: Node Sass version 7.0.1 is incompatible with 4.0.0.解决方案,需要的朋友可以参考下
    2023-06-06

最新评论