前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >老雷PHP全栈开发教程之深入理解Vue组件

老雷PHP全栈开发教程之深入理解Vue组件

作者头像
老雷PHP全栈开发
发布2020-07-02 12:14:36
2990
发布2020-07-02 12:14:36
举报

本节课程带你深入理解Vue组件

内容

1.组件注册

组件命名

kebab-case (短横线分隔命名) list-cell

PascalCase (首字母大写命名) ListCell

全局注册

代码语言:javascript
复制
 Vue.component('list-cell', {
   // ... 选项 ...
 })
 Vue.component('ListCell', {
   // ... 选项 ...
 })

局部注册

代码语言:javascript
复制
 var ComponentA = { /* ... */ }
 var ComponentB = { /* ... */ }
 var ComponentC = { /* ... */ }
 new Vue({
   el: '#app',
   components: {
 'component-a': ComponentA,
 'component-b': ComponentB
   }
 })

2.Prop

Prop 是你可以在组件上注册的一些自定义特性。当一个值传递给一个 prop 特性的时候,它就变成了那个组件实例的一个属性。

Prop用来实现由页面传给组件数据,props数据不可更改

命名 camelCase (驼峰命名法) 的 prop 名需要使用其等价的 kebab-case (短横线分隔命名) 命名

类型 数字 布尔 字符串 数组 对象

3.自定义事件

事件命名 采用 kebab-case (短横线分隔命名) 命名

代码语言:javascript
复制
 <my-component v-on:call-parent="doSomething"></my-component>
 <div @click="$emit('call-parent','组件中的事件')"></div>

4.插槽<slot></slot>

代码语言:javascript
复制
 <list-cell >slot中的内容</list-cell>
 组件
 <div>
 <div>{{isGoods}}</div>
 <div @click="$emit('call-parent',item)" v-for="(item,index) in items" :key="index">{{item}}</div>
 <slot></slot>
 </div>

5.动态组件

实现在不同组件之间进行动态切换

代码语言:javascript
复制
 <component v-bind:is="currentTabComponent"></component>
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老雷PHP全栈开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.组件注册
  • 全局注册
  • 局部注册
  • 2.Prop
  • 3.自定义事件
  • 4.插槽<slot></slot>
  • 5.动态组件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档