Vue-component

组件(Component)是 Vue.js 最强大的功能之一。

组件可以扩展 HTML 元素,封装可重用的代码。

组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树。

Vue data访问

<!-- prop -->

<div style="height: 150px;background: #CCC;margin: 5px;">

<div style="font-size: 20px;">

v2.prop属性</div>

<hr />

<div>

<div>

<comp05 msg="13579"></comp05>

</div>

</div>

</div>

 

<!-- 局部组件 -->

<div style="height: 150px;background: #CCC;margin: 5px;">

<div style="font-size: 20px;">

v1.局部组件</div>

<hr />

<div>

<div>

<comp03></comp03>

</div>

</div>

</div>

 

<!-- 全局组件 -->

<div style="height: 150px;background: #CCC;margin: 5px;">

<div style="font-size: 20px;">

v0.全局组件</div>

<hr />

<div>

<div>

<comp01></comp01>

</div>

</div>

</div>

 

<script>

/* 全局组件 */

Vue.component(

'comp01', {

template: '<h2>自定义组件!</h2>'

}

);

/* 通过 props 把数据传给子组件 */

Vue.component(

'comp05', {

props: ['msg'],

template: '<h4>{{msg}}</h4>'

}

);

new Vue({

el: "#appVue",

data: {

count: 999

},

/* 局部组件 */

components: {

'comp03': {

template: '<h3>自定义组件!</h3>'

}

}

}

 

)

</script>

 

<!DOCTYPE html>
<html style="height: 100%;">

    <head>
        <meta charset="UTF-8">
        <script type="text/javascript" src="../lib/vue.v2.5.12.js"></script>
        <title>v-xxx</title>
    </head>

    <body style="height: 100%;">
        <style>
            .style0 {
                font-size: 25px;
                color: green;
            }
            
            .style1 {
                background: gold;
            }
        </style>
        <!-- 
            VUE组件
                
            REF:
                http://www.runoob.com/vue2/vue-component.html
                https://cn.vuejs.org/v2/guide/components.html
        -->
        <div id="appVue">
            <!-- prop -->
            <div style="height: 150px;background: #CCC;margin: 5px;">
                <div style="font-size: 20px;">
                    v2.prop属性</div>
                <hr />
                <div>
                    <div>
                        <comp05 msg="13579"></comp05>
                    </div>
                </div>
            </div>            
            
            <!-- 局部组件 -->
            <div style="height: 150px;background: #CCC;margin: 5px;">
                <div style="font-size: 20px;">
                    v1.局部组件</div>
                <hr />
                <div>
                    <div>
                        <comp03></comp03>
                    </div>
                </div>
            </div>            
            
            <!-- 全局组件 -->
            <div style="height: 150px;background: #CCC;margin: 5px;">
                <div style="font-size: 20px;">
                    v0.全局组件</div>
                <hr />
                <div>
                    <div>
                        <comp01></comp01>
                    </div>
                </div>
            </div>
        </div>
        <script>
            /* 全局组件 */
            Vue.component(
                'comp01', {
                    template: '<h2>自定义组件!</h2>'
                }
            );
            /* 通过 props 把数据传给子组件 */
            Vue.component(
                'comp05', {
                    props:['msg'],
                    template: '<h4>{{msg}}</h4>'
                }
            );            
            new Vue({
                    el: "#appVue",
                    data: {
                        count: 999
                    },
                    /* 局部组件 */
                    components: {
                        'comp03': {
                            template: '<h3>自定义组件!</h3>'
                        }
                    }
                }

            )
        </script>
    </body>

</html>
View Code

 

REF:

http://www.runoob.com/vue2/vue-component.html

https://cn.vuejs.org/v2/guide/components.html

posted @ 2017-12-31 22:14  zhen-Android  阅读(314)  评论(0编辑  收藏  举报