创建组件

59 阅读1分钟

组件,实现局部功能的资源和代码的集合。含有组件开发的应用称为组件化应用。 优点:未有组件前,耦合度高,代码复用性不高。组建后,局部js,css只对局部html负责,耦合度变低,复用性变高。 当html文件中的大的js文件,调用js文件,这个就是文件就成为模块。 Do not use built-in or reserved HTML elements as component id: use,组件名称use不能使用。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script src="../js/vue (1).js"></script>
<body>
    <div id="app">
        <use1></use1>
      <button>{{msg}}</button>
      
       
        <button @click="msg++">点我加1</button>

    </div>
    <script>
       const ad= Vue.extend({
            data(){
               return{a:[1,2,3]} 
            },
            template:`<ul>
             <li v-for="name of a">{{name}}</li>
                </ul>`,
            
        })
        const vm= new Vue({
        data:{
         msg:2
         } ,
        el:'#app',
       
        components:{
          use1:ad
        }
         })
    </script>
    
</body>
</html>

组件的使用,首先是创建组件,是在使用的文件中有创建组件的构造函数,Vue.extend创造组件的构造函数。写在vm前,这个函数的参数是对象。和new Vue一样,只不过,它模板一定要写,不会去找id=’app'等,只会找template配置项,因此不写el,要在内template,创建vm实例中,写components配置项,会调用构造函数,内存有组件,将组件名字写成标签,会挂载渲染到页面。compons内,组件名字和构造函数名字。多个,json对象。不用‘’,data配置项要写函数,函数return中写json,data如果写对象,可能在父组件会改了值。你在vm实例中写的compons的组件,它渲染只能用于el所在。局部。