全局组件定义的四种方式

全局组件定义的四种方式:

1. 使用Vue.extend 配合Vue.component
2. 直接使用Vue.component方法
3. 将模板字符串,定义到script标签中
4. 将模板字符串,定义到template标签中

在认识到定义组件的四种方式之前,首先要知道什么是组件?

组件:就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件即可。

  • 模块化:是从代码逻辑的角度进行划分的;方便代码分层开发,保证每个功能模块的职能单一。
  • 组件化:是从UI界面的角度进行划分的;前端的组件化,方便UI组件的重用。

第一种:

<script>
    //1、使用Vue.extend 配合Vue.component
    var login = Vue.extend({
      template: "<h1>登录</h1>",
    });
    // Vue.component('组件名',扩展名)
    Vue.component("loginto", login);
  </script>

第二种:

<script>
    //2、直接使用Vue.component方法:
    Vue.component("register", {
      template: "<h1>注册</h1>",
    });
  </script>

第三种:

 <!-- // 3、将模板字符串,定义到script标签中 -->
  <script id="tmpl" type="x-template">
    <div><a href="">登录</a>|<a href="">注册</a></div>
  </script>
  <!-- 同时,需要使用 Vue.component('组件名'{}) 来定义组件: -->
  <script>
    Vue.component("account", {
      template: "#tmpl",
    });
  </script>

第四种:

<!-- 视图层 -->
    <div id="app">
      <!-- 组件 -->
      <course></course>
    </div>
    <template id="course">
      <!-- 第四种方式 -->
      <div><a href="#">登录</a> | <a href="#">注册</a></div>
      <!-- <div><a href="#">登录</a> | <a href="#">注册</a></div> -->
    </template>
<!-- 4、将模板字符串,定义到template标签中-->
  <!-- 同时,需要使用 Vue.component 来定义组件: -->
  <script>
    Vue.component("course", {
      template: "#course",
    });
  </script>

补充:

私有组件的定义:

写在Vue实例化对象中,与data:{}、methods:{}平级。

 <!-- 视图层 -->
    <div id="app">
      <my-header></my-header>
    </div>
    <template id="mine">
      <div>
        我是第四种方式
      </div>
    </template>
<script>
    // 调度层 VM
    var vm = new Vue({
      // vue控制的区域
      el: "#app",
      data: {},
      methods: {},
      //私有定义 components
      components: {
        "my-header": {
          template: "#mine",
        },
      },
    });
  </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值