• vue学习笔记-prop


    用于组件


    props: ['title', 'likes', 'isPublished', 'commentIds', 'author']
    说明这个组件有
    'title', 'likes', 'isPublished', 'commentIds', 'author'这几个attribute

    以下说明组件有title,likes等等属性,并且指定对应属性的类型,当给到错误类型的值时控制台会报错

    props: {
      title: String,
      likes: Number,
      isPublished: Boolean,
      commentIds: Array,
      author: Object,
      callback: Function,
      contactsPromise: Promise // or any other constructor
    }

    props支持的类型

    String
    Number
    Boolean
    Array
    Object
    Date
    Function
    Symbol

    props定义的一些情况

    Vue.component('my-component', {
      props: {
        // 基础的类型检查 (`null` 和 `undefined` 会通过任何类型验证)
        propA: Number,
        // 多个可能的类型
        propB: [String, Number],
        // 必填的字符串
        propC: {
          type: String,
          required: true
        },
        // 带有默认值的数字
        propD: {
          type: Number,
          default: 100
        },
        // 带有默认值的对象
        propE: {
          type: Object,
          // 对象或数组默认值必须从一个工厂函数获取
          default: function () {
            return { message: 'hello' }
          }
        },
        // 自定义验证函数
        propF: {
          validator: function (value) {
            // 这个值必须匹配下列字符串中的一个
            return ['success', 'warning', 'danger'].indexOf(value) !== -1
          }
        }
      }
    })

    /***********************************prop延伸*****************************************/

    一个非 prop 的 attribute 是指传向一个组件,但是该组件并没有相应 prop 定义的 attribute。

    比如:

    一个 Bootstrap 插件使用了一个第三方的 <bootstrap-date-input> 组件,

    这个插件需要在其 <input> 上用到一个 data-date-picker attribute。我们可以将这个 attribute 添加到你的组件实例上:

    <bootstrap-date-input data-date-picker="activated"></bootstrap-date-input>

    然后这个 data-date-picker="activated" attribute 就会自动添加到 <bootstrap-date-input> 的根元素上。

     

  • 相关阅读:
    ecstore前台模板变量处理
    MySQL慢查询日志总结
    Linux 操作MySQL常用命令行
    CGI、FastCGI和php-fpm的概念和区别
    sync实现windows与nginx主机端文件同步(参考文档)
    PHP实现四种基本排序算法
    http和https协议
    linux的计划任务
    php封装一个接口类
    mysql的常见面试问题
  • 原文地址:https://www.cnblogs.com/xqxacm/p/12354610.html
Copyright © 2020-2023  润新知