美文网首页
组件参数校验与非props特性

组件参数校验与非props特性

作者: 云凡的云凡 | 来源:发表于2020-10-10 23:19 被阅读0次

组件参数校验:父组件向子组件传递的内容,那子组件有权对这个内容做一些约束,这些约束就叫参数的校验

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>组件参数校验与非props特性</title>
    <script src="./vue.js"></script>
</head>

<body>
    <div id="app">
        <!-- msg="hello world"  通过属性的形式,父组件向子组件传递参数 -->
        <!-- 组件参数校验:父组件向子组件传递的内容,那子组件有权对这个内容做一些约束,这些约束就叫参数的校验 -->
        <child msg="hello world"></child>
        <!-- <child :count="12"></child> -->
        <!-- <child :msg="123"></child>  msg是Number类型
        <child msg="123"></child>   msg是字符串 -->
    </div>
    <script>

        Vue.component('child', {
            //  1 组件参数校验:子组件要求父组件传递过来的参数必须是一个字符串
            // props: {
            //     msg: String
            // },
            //  2 组件参数校验:要求父组件传递过来的参数是一个字符串或者数字
            // props: {
            //     msg: [Number, String]
            // },

            // 3 对象
            props: {
                msg: {
                    type: String,
                    required: true,
                    default: 'default value',
                    validator: function (value) {
                        return (value.length > 5)
                    }
                },

            },
            // 4 
            // props: [
            //     'msg'
            // ],
            template: '<div>{{msg}}</div>'
        })
        var vm = new Vue({
            el: "#app"
        })
    </script>
</body>

</html>

非props特性:父组件向子组件传递了props属性,但是子组件并没有声明要接收父组件传递的内容。
props特性:当父组件使用子组件的时候,通过属性向子组件传递值,恰好子组件声明了props对父组件传过来值的接收。

相关文章

网友评论

      本文标题:组件参数校验与非props特性

      本文链接:https://www.haomeiwen.com/subject/lzukpktx.html