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>

报错的截图:

clipboard.png

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

阅读 2.2k
1 个回答

这里是一个正确的示例,JSFiddle

首先,如果这是一个Number类型,那么Default赋值的时候需要给一个Number而不是String

另一个潜在的错误是value.length的使用,Number对象没有length属性,可以转字符串再调用该方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题