vue - 组件的最最基础、初级写法

html

<div id="app"></div>

js

 <script>
// 子组件
var MyBody = Vue.extend({
     template:`<div @click=show(123)>我是身体</div>`,
     methods:{
         show(num){
             alert(num);
         }
     }
 });
 // 子组件
 var MyHeader = Vue.extend({
     template:`<h1 :haha='123'>我是头部</h1>`         
 });
 // 入口组件
 // template 只能有一个根节点
 var App = Vue.extend({
     components:{
         "my-header":MyHeader,
         "my-body":MyBody
     },
     template:`
     <div>
     <my-header></my-header>
     <my-body></my-body>
     </div>
     `
 })
 new Vue({
     el: "#app",
     components:{
         "app": App  // 声明组件
     },
     template:`<app/>`  // 使用组件
     
 })
</script>

全局组件写法(Vue.component)

全局组件不用声明也可以用

<script>
   Vue.component('mybtn',{
       template:`<button>按钮</button>`
   })
   // 入口组件
   var App = {
       template:`<div>
           不用声明也可以用<br/>
           <mybtn></mybtn>  
        </div>`,
   }

   new Vue({
       el:"#app",
       components:{
           "app":App
       },
       template:`<app/>`
   })
</script>

引入整个vue包的话,使用render加载

import Vue from 'vue';
new Vue({
  el:"#app",
  render:c=>c(App)   //c就是creater
})

引入vue.js的话,可使用template,components

import Vue from 'vue.js';
new Vue({
  el:"#app",
  components:{
    app:App
  },
  template:'<app/>'
})

关于组件名定义的方式

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值