对于Vue组件的理解

作者: 雅玲哑铃 | 来源:发表于2018-01-31 19:10 被阅读65次

什么是组件

组件系统是vue的另一个重要概念,它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用,因此,几乎任意类型的应用界面都可以看成一个组件树:

图片.png

组件的作用既可以从父作用域将数据传到子组件,也可以将把组件内部的数据发送到组件外部,可以实现互相传送数据

组件的使用

(一)组件使用之全局注册

我们在一级目录下新建一个全局注册.html文件,在该文件中介绍全局注册,我们还需引入vue.js文件

图片.png

按照上面的三步全局注册,运行出来的页面会报错

图片.png

报的错误意思就是说我们没有注册组件,那么这是为什么呢?

这里注册组件有两个坑:

第一:注册组件必须在Vue实例化之前

第二:这里对组件在文档中自定义标签不能用驼峰命名法命名,可采取小写且包含一个短杆的方式

正确写法如下:

图片.png

渲染为:

图片.png

(二)局部注册

实际项目中,我们不必把每个组件都注册到全局,我们可以通过某个Vue实例/组件的实例选项components注册仅在其作用域中可用的文件

在一级目录下新建一个局部注册.html

下图步骤就是注册一个简单的局部组件

图片.png

(三)组件使用之注意事项

1、
图片.png
<table>
    <my-row>....</my-row>
</table>

自定义组件<my-row>会被当做无效的内容,因此会导致错误的渲染结果,解决方法是使用特殊的 is 特性:

<table>
    <tr is="my-row">....</tr>
</table>
2、组件里面data一定要用function方式,不然会传址

如果我们有多个组件,而这些个组件各自有data对象,其实是共享一个data对象,因此会相互影响,所以要写成

data: function () {
    return {
        
    }
  }

这样每个组件都会有它自己的data对象,互相之间不会影响

而且data里面的数据,只能在组件的template里面才能生效

图片.png

组件的引入方式

(一)直接引入

模板中使用标签<my-component></my-component>引入

(二)通过is属性动态引入

图片.png

通过点击按钮来动态切换组件

图片.png 图片.png

keep-alive是vue特定用来做缓存的标签

相关文章

  • 对于Vue组件的理解

    什么是组件 组件系统是vue的另一个重要概念,它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用,...

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

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

  • vue.js组件开发

    组件开发的基础 组件可以扩展 HTML 元素,封装可重用的代码。我理解为功能模块的模板吧。对于vue来说,组件是这...

  • vue学习笔记

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

  • 父子组件传值

    相对于Right.vue位置来说属于父组件属于子组件 现在需要在goodList.vue子组件...

  • Vue组件(compoent)

    自定义组件有两种方式1.全局组件,2.局部组件 全局组件:我们可以这样理解,一个vue组件就是一个vue实例 组件...

  • vue2.5.2组件生命周期理解系列

    最近在做vue的项目,对于组件的生命周期,理解得非常差劲,只会在created阶段提交一下数据,但是对于mount...

  • vue组件的使用模式

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

  • vue 组件的理解

    Vue.mixin 混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对...

  • Vue 组件

    对组件的理解 : 组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,...

网友评论

    本文标题:对于Vue组件的理解

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