美文网首页
vue组件系统

vue组件系统

作者: coffee1949 | 来源:发表于2019-06-02 13:52 被阅读0次

除了根组件之外的全局组件和局部组件的data数据必须是函数

data(){
    return {

    }
}

根组件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
    <script type="text/javascript" src="vue.js"></script>
</head>
<body>
    <div id="app">
        {{msg}}
        
    </div>
    <script type="text/javascript">
        //下面的new Vue就是根组件
        var app = new Vue({
            el: '#app',
            data: {
                msg: 'hello,world'
            }
        })

    </script>
</body>
</html>

全局组件:

全局组件注册方式:Vue.component(组件名,{方法})
全局组件必须写在Vue实例创建之前,才在该根元素下面生效;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
    <script type="text/javascript" src="vue.js"></script>
</head>
<body>
    <div id="app">
        {{msg}}
        <child-component/>
    </div>
    <script type="text/javascript">

        //使用Vue.component()方法定义全局组件,参数一是组件名,参数二是组件模板和数据等
        Vue.component('child-component',{
            template: '<h1>hello,世界!</h1>'
        })
    


        //下面的new Vue就是根组件
        var app = new Vue({
            el: '#app',
            data: {
                msg: 'hello,world'
            }
        })

    </script>
</body>
</html>

局部组件||子组件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
    <script type="text/javascript" src="vue.js"></script>
</head>
<body>
    <div id="app">
        {{msg}}
        <hdcms></hdcms>
    </div>
    <script type="text/javascript">
        //下面的new Vue就是根组件
        var app = new Vue({
            el: '#app',
            data: {
                msg: 'hello,world666'
            },
            // 局部组件||子组件
            components: {
                hdcms: {
                    template: '<h3>我是子666组件</h3>'
                }
            }
        })

    </script>
</body>
</html>

组件的template模板可以拆出来

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
    <script type="text/javascript" src="vue.js"></script>
</head>
<body>
    <div id="app">
        {{msg}}
        <hdcms></hdcms>
    </div>
    

    <!-- 这里把子组件的模板拆出来书写 -->
    <script type="text/x-template" id="news">
        <div>
            <h3>我是子组件的模板</h3>
        </div>
    </script>

    <script type="text/javascript">
        //下面的new Vue就是根组件
        var app = new Vue({
            el: '#app',
            data: {
                msg: 'hello,world666'
            },
            // 局部组件||子组件
            components: {
                hdcms: {
                    template: '#news'
                }
            }
        })

    </script>
</body>
</html>

相关文章

网友评论

      本文标题:vue组件系统

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