美文网首页饥人谷技术博客
01 怎么理解Vue中的组件?

01 怎么理解Vue中的组件?

作者: PingerL | 来源:发表于2019-11-02 16:02 被阅读0次

Q1:什么是组件?

组件是可复用的Vue实例,且带有一个名字(内心os:不就是可重复使用的Vue实例么...)

Q2: 为什么要使用组件?

为了提高代码的复用性 (内心os: 这应该和函数封装是一个道理吧....)

Vue组件示例

  <!-- html中的内容,把 my-component 这个组件作为自定义元素来使用-->
  <div id="component-demo">
      <my-component></my-component>
  </div>
  <script>
// 定义一个名为 my-component 的新组件
     Vue.component('my-component',{
      data: function(){
        return {
          count: 0
        }
      },
      template: ' <button v-on:click="count++">你点击了{{count}}次</button>'
    })
// 我们可以在一个通过 new Vue 创建的 Vue 根实例中,把这个组件作为自定义元素来使用:
    new Vue({el:'#component-demo'})
  </script>

总结:

  1. 注册一个自定义的组件
  2. 通过 new Vue创建 Vue 实例,并将实例挂载到DOM上
  3. 在对应的 html 中将自定义的组件作为自定义元素来使用

Q3: 组件只有注册了才能被Vue识别,那组件注册的类型有哪些呢?

有两种组件注册类型:局部注册和全局注册

  • 全局注册:全局注册的组件可以用在其被注册之后的任何 (通过 new Vue) 新创建的 Vue 根实例,也包括其组件树中的所有子组件的模板中。
<div id="app">
    <my-comp></my-comp>
</div>

 Vue.component('my-comp',{
       template:'<h3>我是新出炉的组件</h3>'
    })

 new Vue({
      el: "#app",
      data: {

      }
    })
  • 局部注册:局部注册的组件在其子组件中不可用
  <div id="app">
    <my-comp></my-comp>
  </div>

  new Vue({
    el: "#app",
    components:{
        'my-comp':{template:'<h3>我是新出炉的组件</h3>'}
    },
    data: {

    }
  })

Q4: 组件的名字有什么讲究么?

答案是当然有了

Vue.component('my-component-name', { /* ... */ })
  • 在注册一个组件的时候,我们始终需要给它一个名字,该组件名就是 Vue.component 的第一个参数
  • 定义组件名的方式有两种: kebab-case 和 PascalCase
    • 当使用 kebab-case (短横线分隔命名) 定义一个组件时,你也必须在引用这个自定义元素时使用 kebab-case,例如 <my-component-name>。
    • 当使用 PascalCase (驼峰式命名) 定义一个组件时,你在引用这个自定义元素时两种命名法都可以使用。也就是说 <my-component-name> 和 <MyComponentName> 都是可接受的。注意,尽管如此,直接在 DOM (即非字符串的模板) 中使用时只有 kebab-case 是有效的。

组件使用的奇淫技巧

  1. 推荐使用小写字母加­进行命名(必须) child, my­componnet命名组件
  2. template中的内容必须被一个DOM元素包括 ,也可以嵌套
  3. 在组件的定义中,除了template之外的其他选项—data,computed,methods
  4. data必须是一个方法

相关文章

  • 01 怎么理解Vue中的组件?

    Q1:什么是组件? 组件是可复用的Vue实例,且带有一个名字(内心os:不就是可重复使用的Vue实例么...) Q...

  • vue组件的使用模式

    最近使用vue的过程中,发现关于vue组件使用的问题,现根据我自己的理解,总结一下vue组件的使用模式:(1)多例...

  • 如何理解Vue中的keepalive

    如何理解vue中的keepalive? keep-alive是 vue 源码中实现的一个组件,源码地址https:...

  • Composables 组合函数

    下面案例有助于理解 vue 中的Composables 组合函数我们在普通 js 文件(不是 vue 组件)中,定...

  • 「vue 组件通信一」组件间通信、数据传递(父子组件,同级组件)

    总结一下对vue组件通信的理解和使用。 一、组件目录结构 父组件:app.vue 子组件:page1.vue 子组...

  • node 以及vue环境配置

    写在前面: 这篇文档不涉及vue的语法,单纯是处理laravel中怎么用vue进行组件化开发的(vue组件化开发需...

  • (24)打鸡儿教你Vue.js

    学习Vue基础语法Vue中的组件Vue-cli的使用 1、使用Vue2.0版本实现响应式编程2、理解Vue编程理念...

  • vue学习笔记

    Vue组件 我们用以下几个步骤来理解组件的创建和注册: Vue.extend()是Vue构造器的扩展,调用Vue....

  • 2020-07-23 一次性讲明白vue插槽slot

    vue插槽slot 一、前言 vue官方文档中在"组件基础"内容中提到组件可以通过插槽分发内容,那插槽是怎么使用的...

  • vue插槽slot

    vue插槽slot 一、前言 vue官方文档中在"组件基础"内容中提到组件可以通过插槽分发内容,那插槽是怎么使用的...

网友评论

    本文标题:01 怎么理解Vue中的组件?

    本文链接:https://www.haomeiwen.com/subject/tcocbctx.html