设为首页 加入收藏

TOP

Vue.js 3 Step 创建一个组件(一)
2019-09-17 18:37:17 】 浏览:36
Tags:Vue.js Step 创建 一个 组件

Step1:Vue.extend()创建组件
Step2:Vue.component()注册组件,注册的标签一定要用小写
Step3:挂载点使用组件


<!doctype html>
<html>

    <head>
        <meta charset="utf-8">
        <title>3 Step 创建一个组件</title>
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <script src="vue.js" type="text/java script" charset="utf-8"></script>
    </head>

    <body>
        <div id="app1">
            <!-- Step3:挂载点1使用组件 -->
            <my-component></my-component>
        </div>
        <div id="app2">
            <!-- Step3:挂载点2使用组件 -->
            <my-component></my-component>
        </div>
        <div>
            <!-- 这里不属于挂载点,所以不会显示! -->
            <my-component></my-component>
        </div>
        <script type="text/java script">
            //Step1:创建组件
            var myComponent = Vue.extend({
                template: "<div>这是一个组件</div>"
            })
            //Step2:注册组件 在这里采用"全局注册"组件,也就是每个挂载点都可以使用组件
            Vue.component('my-component', myComponent)

            new Vue({
                el: '#app1', //挂载点1
            })
            new Vue({
                el: '#app2' //挂载点2
            })
        </script>
    </body>

</html>

全局注册和局部注册

全局注册:

Vue.component('my-component', myComponent)

局部注册:

我们需要在声明挂载点的地方注入组件即可:

            new Vue({
                el: '#app1',
                components:{
                'my-component', myComponent'
                }
            })

这样只能在挂载点为#app1地方使用my-component组件,==在挂载点#app2的地方使用my-component组件就会报错==。

语法糖创建并注册组件

<!doctype html>
<html>

    <head>
        <meta charset="utf-8">
        <title>3 Step 创建一个组件</title>
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <script src="vue.js" type="text/java script" charset="utf-8"></script>
    </head>

    <body>
        <div id="app1">
            <!-- Step3:挂载点1使用组件 -->
            <my-component></my-component>
        </div>
        <div id="app2">
            <!-- Step3:挂载点2使用组件 -->
            <my-component></my-component>
            <hr>
            <strong>使用语法糖创建并注册组件</strong>
            <sugar-component></sugar-component>
        </div>
        <div>
            <!-- 这里不属于挂载点,所以不会显示! -->
            <my-component></my-component>
        </div>
        <hr >
        <strong>使用语法糖在局部注册并创建多个组件</strong>
        <div id="app3">
            <sugar-component2></sugar-component2>
            <sugar-component3></sugar-component3>
        </div>
        <script type="text/java script">
            //Step1:创建组件
            var myComponent = Vue.extend({
                template: "<div>这是一个组件</div>"
            })
            //Step2:注册组件 在这里采用"全局注册"组件,也就是每个挂载点都可以使用组件
            Vue.component('my-component', myComponent)

            //Step2: 可以使用语法糖,省略Step1,“全局注册”组件的同时创建模板内容
            Vue.component('sugar-component', {
                template: '<div>这是用语法糖创建并注册的组件,这样就可以省略自己使用Vue.extend创建组件的步骤,系统会自动为我们使用Vue.extend去创建组件。</div>'
            })

            new Vue({
                el: '#app1', //挂载点1
            })
            new Vue({
                el: '#app2' //挂载点2
            })
            new Vue({
                el: '#app3', //挂载点3,同样可以再局部使用语法糖创建并注册组件
                components: {
                    'sugar-component2': {
                        template: '<div>这是使用语
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇JavaScript 语句 下一篇Vue中v-on的指令以及一些其他指令

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目