<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校验器的条件吗?为啥还报错?
希望大佬帮忙解答,谢谢
这里是一个正确的示例,JSFiddle
首先,如果这是一个
Number
类型,那么Default赋值的时候需要给一个Number
而不是String
。另一个潜在的错误是
value.length
的使用,Number
对象没有length
属性,可以转字符串再调用该方法