vue 组件(component、components)

    科技2024-12-02  8

    <!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> <body> <div id = "app"> <button v-on:click="count++">我被点击了{{count}}次</button> <!-- 使用全局组件 --> <counter></counter> <counter></counter> <counter></counter> <!-- 使用局部组件 --> <button-c></button-c> <button-c></button-c> <button-c></button-c> </div> <script src="../node_modules/vue/dist/vue.js"></script> <script> // 定义全局组件,方便复用,各组件counter会自动隔离,不会共用。 // 1、组件其实也是一个vue实例,因此它在定义时也会接受:data、methods、生命周期函数等。 // 2、不同的是组件不会与页面的元素绑定,否则就无法复用了,因此组件没有el属性。 // 3、但是组件渲染需要html模板,所以增加了template属性,值就是html模板。 // 4、全局组件定义完毕,任何vue实例可以直接在html中通过组件名称来使用组件了。 // 5、data必须是一个函数,不再是一个对象。 Vue.component("counter",{ template:`<button v-on:click="count++">我被点击了{{count}}次</button>`, data() { return { count:1 } } }); // 局部组件 :需要在vue实例中声明components属性。局部组件名称可以自定义 const buttonCounter = { template:`<button v-on:click="count++">我被点击了{{count}}次~~</button>`, data() { return { count:1 } }, }; new Vue({ el:"#app", data:{ count:1 }, components: { 'button-c':buttonCounter } }) </script> </body> </html>

     

    Processed: 0.010, SQL: 8