Vue中使用props对数据进行验证

Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。…

Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动

props通过数组去使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <script type="text/javascript" src="vue.js"></script>
</head>

<body>
    <div id="app">
        <!-- 这里注意:连写的词在dom中中间是 如需要绑定使用冒号- -->
        <my-list data-list="这里是博客"></my-list>


        <my-component message="这里是爱前端博客"></my-component>

        <!-- 使用冒号进行绑定 -->
        <input type="" name="" v-model="parent">
        <my-list :data-list="parent"></my-list>


    </div>
</body>

</html>
<script type="text/javascript">
    Vue.component('my-component', {
        props: ['message'],
        template: `
    <span>{{message}}</span>
    `
    })
    Vue.component('my-list', {
        // 连写的单词在props中必须使用连写
        props: ['dataList'],
        template: `
    <span>{{dataList}}</span>
    `

    })

    //props中声明的数据与组件data函数return的数据主要区别就是props的来自父级,而data中的是组件自己的数据

    //由于html不区分大小写,当使用dom模板时,驼峰命名的props名称要转为短横分割命名

    new Vue({
        el: "#app",
        data: {
            parent: "1"
        }
    })
</script>

使用props对数据做验证

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <script type="text/javascript" src="vue.js"></script>
</head>

<body>
    <div id="app">
        <!-- 这里注意:连写的词在dom中中间是 如需要绑定使用冒号- -->
        <my-list data-list="这里是博客"></my-list>

        <!-- 不填就是100 -->
        <my-component ></my-component>
        <my-component message="爱前端博客"></my-component>

        <!-- 使用冒号进行绑定 -->
        <input type="" name="" v-model="parent">
        <my-list :data-list="parent"></my-list>


    </div>
</body>

</html>
<script type="text/javascript">
    Vue.component('my-component', {
        // 对象形式的props就是为了防止用户错误的输入,而对组件作出的限制
        props: {
            message:{
                  type: Number,
                  default: 100
            }



        },
        template: `
    <span>{{message}}</span>
    `
    })
    Vue.component('my-list', {
        // 连写的单词在props中必须使用连写
        props: ['dataList'],
        template: `
    <span>{{dataList}}</span>
    `

    })

    //props中声明的数据与组件data函数return的数据主要区别就是props的来自父级,而data中的是组件自己的数据

    //由于html不区分大小写,当使用dom模板时,驼峰命名的props名称要转为短横分割命名

    new Vue({
        el: "#app",
        data: {
            parent: "1"
        }
    })
</script>

详情可以查看vue官方文档对这一个章节的讲解:https://cn.vuejs.org/v2/guide/components-props.html#ad

作者: huanggr

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注