沃梦达 / IT编程 / 前端开发 / 正文

vue创建组件的两种方式

组件的两种写法1.//组件 //优点: 吧原有的界面内容进行解耦 可以复用 高内聚,低耦合//注册组件 vue.extend({})//component组件//templatelet com = Vue.extend( {template: `divh2这里是使用Vue.extend创...

组件的两种写法1.


 //组件  
    //优点:  吧原有的界面内容进行解耦    可以复用  高内聚,低耦合
    //注册组件 vue.extend({})
    //component组件
    //template
    let com = Vue.extend( {
        template: `<div>
            <h2>这里是使用Vue.extend创建的组件,傻逼你能看到我吗</h2>
            <p>{{text}}</p>
            <button @click="add">你已经点我了{{age}}次了,手不疼吗,人家最高点击了1000万次了</button>
            </div>`,
        //一个是全局data:{} 一个是局部 返回值函数
        //全局的话是暴露在全局任何一个组件都可以使用
        data() {
            return {
                text: "你吃翔吗",
                age: 18
            }
        },
        methods: {
            add() {
                this.age += 1 ;
            }
        },
       
        //可以使用ES6中的模板字符串``
      
    })
      //全局组件 只能写在外面 写在里面会报错
          //全局使用 Vue.component(组件名字,注册组件)
    Vue.component("todo",com) 
    //render>template>outerHTML 优先级
  let vm =   new Vue({
        el: "#app",
        data: {
            msg: "你好年轻人 奥利给"
        },
    //     template:'<div>内部的template</div>',
    //     render:function(createElement){
    // return createElement("h1","这是用来创建dom")
    //     },
        methods: {},
        Comment: {},
        filters: {},
        beforeCreate(){},
    })


组件的两种写法2.
这一种采用了语法糖形式 比原有的基础上少了一步



let com = Vue.extend() 语法糖写法 这个可以不写
Vue.component("todo",{
data() {
return {
text: "我不好",
age: 18
}
},
methods: {
add() {
this.age += 99999 ;
}
},

template: `<div>
    <h1>{{age}}</h1>
    <p>{{text}}</p>
    <button @click="add">点我加1</button>
</div>`
})

本文标题为:vue创建组件的两种方式