美文网首页Vue
Vue组件基础(一)--组件的创建

Vue组件基础(一)--组件的创建

作者: 听雨轩_dmg | 来源:发表于2020-01-13 22:20 被阅读0次

这里简单介绍一下组件创建的三种方法
方式1: extend创建的组件

<script>
    //用一个变量接收extend创建的组件
    var com = Vue.extend({
        template: "<h3>这是我的第一个组件<h3>"
    })
    //将组件注册到Vue中
    Vue.component("first-component",com)
</script>

方式二:直接使用字面量对象的方式

<script>
    Vue.component("second-component",{
        template: "<h3>这是我的第二个组件<h3>"
    })
</script>

方式三:利用template元素标签创建

//先利用template元素标签创建组件模板 并给定id
<body>
    <template id="third">
    <div>
        <h3>这是我的第三个自定义组件</h3>
    </div>
    </template>
    //把创建的模板注册到Vue中 这里使用上边定义的id选择器注册
    <script>
    Vue.component("third-component", {
        template: "#third";
    })
    </script>
</body>

接下来我们看下使用

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" ,content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src='https://cdn.jsdelivr.net/npm/vue/dist/vue.js '></script>
</head>

<body>
    <div id="app">
        <first-component></first-component>
        <second-component></second-component>
        <third-component></third-component>
        <four-component></four-component>
    </div>
    
    <!-- 第三种 注册全局组件 用template元素标签创建组件模板 -->
    <template id="third">
        <div>
            <h3>这是我的第三个自定义组件</h3>
        </div>
    </template>

    <script>
        //第一种创建组件的方式 用一个变量接收extend创建的组件
        var com = Vue.extend({
            template: "<h3>这是我的第一个组件</h3>"
        })
        // 然后把创建好的组件放入到Vue中
        Vue.component("first-component", com)

        // 第二种 注册全局组件 注意组件必须在vue控制的元素中使用 直接使用字面量
        Vue.component("second-component", {
            // 创建模板
            template: "<h3>这是我的第二个组件</h3>"
        })

        //第三种 把用js创建的模板注册到Vue的组件中
        Vue.component("third-component", {
            template: "#third"
        })

        var vm = new Vue({
            el: '#app',
            data: {},
            methods: {},
            components() {
                //定义一个私有的组件,这个组件只能在当前Vue控制的app中使用,除了这个模块就不能使用了
                "four-component": {
                    template: "<h4>这是我的第四个组件,但是是私有的</h4>"
                }
            }
        })
    </script>
</body>

</html>

注意点一: 模板的命名:我们可以使用驼峰命名法或者kebab-case (短横线分隔命名) ,但是我们需要注意,在使用的组件的时候,驼峰命名法是不能使用的。所以我们需要把驼峰命名的组件名转换为kebab-case。接下来举个例子:如果我们使用驼峰命名一个组件为myFirstComponent,那么我们使用的时候 <my-first-component> </my-first-component>
注意点二: 组件的模板必须包含在一个根标签中,也就是说模板最外层有且只用一个根标签,如果模板中需要放置多个标签,那么这些标签必须被包含在一个根标签中。例如

template:"<div><h3>这是一个标题</h3><p>这是一个段落</p></div>"

这个模板中有h3和p两个标签,所以我们必须在最外层包含一个di根标签,因为模板最外层有且仅有一个根标签元素。

相关文章

  • Vue.js教程_8

    组件基础 组件是可复用的Vue实例,且带有一个名字:在这个例子中 为一个组件。可以通过new Vue创建的Vue根...

  • Vue组件和父子组件

    【一】Vue组件化 创建组件构造器对象Vue.extend() 创建组件构造器const cpnc = Vue.e...

  • vue 组件和路由

    === Vue组件Vue组件的创建vue.extend结合vue.component创建vue.component...

  • Vue组件基础(一)--组件的创建

    这里简单介绍一下组件创建的三种方法方式1: extend创建的组件 方式二:直接使用字面量对象的方式 方式三:利用...

  • VUE03

    Vue组件 组件的创建 组件的指令以及事件绑定 父子组件创建 父子组件通信 兄弟组件的传值 动态组件

  • vue.component、vue.extend、vue

    vue.component 注册全局组件 vue.extend 创建组件构造器 vue.component(组件名...

  • router - 2018-06-25

    2018-06-25 创建 vue异步组件技术 vue-router配置路由,使用vue的[异步组件](组件 — ...

  • (15)打鸡儿教你Vue.js

    组件化vue.js 组件单向绑定组件双向绑定组件单次绑定 创建组件构造器注册组件使用组件 Vue.extend()...

  • vue-cli兄弟组件传值文章

    1.创建两个兄弟组件分别是header.vue组件和middle.vue组件 1.创建一个父组件chuanzhi....

  • 组件化流程

    组件化创建大致步骤,以项目、基础组件为例 1、创建项目、基础组件远程仓库 创建项目远程仓库,基础组件远程仓库如下 ...

网友评论

    本文标题:Vue组件基础(一)--组件的创建

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