zoukankan      html  css  js  c++  java
  • vue.js实战——props数据验证(自定义构造器检测)

        Vue.component('my-component',{
                props:{
                    //必须是数字类型
                    propA:Number,
                    //必须是字符串或数字类型
                    propB:[String,Number],
                    //布尔值,如果没有定义,默认值就是true
                    propC:{
                        type:Boolean,
                        default:true
                    },
                    //数字,而且是必传
                    propD:{
                        type:Number,
                        required:true
                    },
                    //如果是数组或对象,默认值必须是一个函数来返回
                    propE:{
                        type:Array,
                        default:function (){
                            return [];
                        }
                    },
                    //自定义一个验证函数
                    propF:{
                        validator:function (value){
                            return value>10;
                        }
                    }
                }
            })

    验证的type类型可以是:

      String

      Number

      Boolean

      Object

      Array

      Function

    type也可以是一个自定义构造器,使用instanceof检测。

    当props验证失败时,在开发版本下会在控制台抛出一条警告。

    自定义构造器测试:

    <body>
        <div id="app">
            {{myObj}}
                <my-component :my-obj="12"></my-component>
                <my-component :my-obj="myObj"></my-component>
        </div>
        <script>
            function MyObj(){
                this.name=1;
                this.age=2;
            }
            var myObj=new MyObj();
            console.log(new MyObj());
    
            Vue.component('my-component',{
                props:{
                    //自定义构造器测试
                    myObj:MyObj,
                },
                template:'<div>自定义构造器测试 ——{{myObj}}</div>'
           
            })
            new Vue({
                el:'#app',
                data:{
                    myObj:myObj
                }
            })
        </script>
    </body>

    显示如下:

    传入12时报错

    http://www.cnblogs.com/exhuasted/p/7250452.html

  • 相关阅读:
    从 i++ 和 ++i 说起局部变量表和操作数栈
    数据库连接情况查询相关sql语句
    db2相关语句
    BeanUtils源码详解
    Spring注解驱动开发之AOP
    Spring注解驱动开发之IOC
    正则表达式
    linux特殊符号
    linux下面如何让一个软件/命令开机自启动
    linux文件属性
  • 原文地址:https://www.cnblogs.com/em2464/p/10418820.html
Copyright © 2011-2022 走看看