猿问

vue的props校验的报错问题

<div id="app">

    <child :content="12"></child>
    <child :text='424241'></child></div><script>
    Vue.component('child',{        template:`<div>{{content}}{{text}}</div>`,        props:{            content:[Number,String],            text:{                type:Number,                required:false,                default:'我是默认的helloworld',
                validator(value){                    return value.length > 5
                }
            }
        }
    })    var vm=new Vue({        el:"#app",

    })</script>

报错的截图:

我的个人理解: :text='424241' 这里的传入方式不是传如一个静态数字吗?
官方API:https://cn.vuejs.org/v2/guide...
可是报错的第一个原因却说这是一个字符串
第二个报错的原因也是比较蒙,“424241”这个length不是符合validator校验器的条件吗?为啥还报错?
希望大佬帮忙解答,谢谢


慕斯王
浏览 1234回答 1
1回答

墨色风雨

这里是一个正确的示例,JSFiddle首先,如果这是一个Number类型,那么Default赋值的时候需要给一个Number而不是String。另一个潜在的错误是value.length的使用,Number对象没有length属性,可以转字符串再调用该方法
随时随地看视频慕课网APP

相关分类

Vue.js
我要回答