码迷,mamicode.com
首页 > 其他好文 > 详细

vue-组件

时间:2021-04-14 12:11:22      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:ber   存在   元素   color   事件   基本   页面   rip   src   

head部分:

<script type="text/javascript" src="bower_components/jquery/dist/jquery.min.js"></script>
<script type="text/javascript" src="bower_components/vue/dist/vue.min.js"></script>

body部分的html:

<div id="app">
        <testcomponent></testcomponent>
        <testcomponent-2></testcomponent-2>
        <testcomponent-3 message="我是一个新的自定义局部组件属性展示"></testcomponent-3>
        <testcomponent-4 :message="newMessage"></testcomponent-4>
</div>

script部分代码:

<script type="text/javascript">
        //全局组件,直接用vue.component("组件名",{组件内容})创建,不仅当前页面能用,会被保存在vue中,全局可用
        //组件名,全局小写,或用-连接,不要驼峰命名
        Vue.component("testcomponent",{
            //template 组件描述
            template:‘<h1>我是一个新的自定义全局组件</h1>‘
        });
        new Vue({
            el:"#app",
            data:{
                newMessage:"我是一个新的自定义局部组件属性展示(data动态数据)"
            },
            //局部组件,仅在当前vue实例中生效
            components:{
                "testcomponent-2":{
                    //template 组件描述
                    template: ‘<h2>我是一个新的自定义局部组件</h2>‘
                },
                "testcomponent-3":{
                    //prop自定义属性,props为数组
                    props: [‘message‘],
                    template: ‘<h2>{{message}}</h2>‘
                },
                "testcomponent-4":{
                    //prop自定义属性,props为数组
                    props: [‘message‘],
                    template: ‘<h2>{{message}}</h2>‘
                },
                "testcomponent-5":{
                    //prop自定义属性验证,props可为{}
                    //当 prop 验证失败的时候,(开发环境构建版本的) Vue 将会产生一个控制台的警告。
                    //type 可以是原生构造器:String,Number,Boolean,Array,Object,Date,Function,Symbol
                    props:{
                        //数量类型
                        propNum:Number,
                        //多种类型,可以放在数组中
                        propMuti:[String,Number,Boolean],
                        //必填验证
                        propRequired:{
                            //type为缺省类型,上述的两个就缺省了
                            type:String,
                            //required为true为必填
                            required:true
                        },
                        //默认属性值
                        propDefault:{
                            type:Number,
                            default:100
                        },
                        //属性值通过函数获得
                        propGetByFun:{
                            type:Object,
                            default: function(){
                                return 100;
                            }
                        },
                        //自定义的验证函数
                        propByCreate:{
                            validator:function(){
                                return [‘success‘, ‘warning‘, ‘danger‘].indexOf(value) > -1
                            }
                        }
                    } 
                }
            }
        });
    </script>
这里可以做一个总结了,自定义组件属性主要的作用是父组件往子组件传值,这里我们要知道的是即便我们自定义了组件好像我们是新建了一种,元素类型,其实不然,当我们run之后,就会发现在页面的dom树上依旧是<h1></h1>这样的标签,这也就是我们只是用基本标签通过vue的方式
堆叠起了一个伪的元素类型,这就是一个父组件,它下面的底层的基本标签类型就是子组件,我们通过父组件自定义的属性,把值传给子组件,那么反之如果我们从父组件获得子组件的值,那么就需要自定义事件了。

vue-组件

标签:ber   存在   元素   color   事件   基本   页面   rip   src   

原文地址:https://www.cnblogs.com/sujinchen/p/14655554.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!