Vue 组件

对组件的理解 :

组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以表现为用 is 特性进行了扩展的原生 HTML 元素。所有的 Vue 组件同时也都是 Vue 的实例,所以可接受相同的选项对象 (除了一些根级特有的选项) 并提供相同的生命周期钩子。

组件的好处:

  • 提高开发效率
  • 方便重复使用
  • 简化调试步骤
  • 提高整个项目的可维护性
  • 便于协同开发

组件的使用方法:

全局注册

全局化组件就是在构造器的外部用Vue.component来注册一个组件

Vue.component('my-component',{ template:'
我是组件的内容
' }) var app = new Vue({ el: '.app', data: {} })

全局注册的组件在任何地方都可以使用,使用组件之前要先注册组件

// app 中使用了 my-component
// bpp 中也使用了 my-component
Vue.component('my-component',{ template:'
我是组件的内容
' }) var app = new Vue({ el: '.app', data: {} }) var bpp = new Vue({ el: '.bpp', data: {} })

组件命名问题

  • 在使用组件的名称时,使用中间划线分词。eg: list-item,驼峰命名是不行的
  • 注册组件的名称可以是驼峰命名或者 使用中间划线分词


局部注册

  • 在 Vue 实例中注册,而不在全局注册。那么同理,局部注册的组件,只能在当前 Vue 实例中使用。
var app = new Vue({ el:'#app', components:{ 'my-component':{ template: '我是组件的内容' } } })

is属性挂载组件

vue组件的模板在某些情况下会受到html标签的限制,比如

中只能还有 ,
这些元素,所以直接在table中使用组件是无效的,此时可以使用is属性来挂载组件

 

你可能感兴趣的:(Vue 组件)