Vue全家桶-组件化开发

1.组件化开发思想
* 标准
* 分治
* 重用
* 组合
组件化规范: Web Components
Web Components 通过创建封装好功能的定制元素解决问题

2.组件的注册方式
2.1 全局组件注册语法
Vue.component(组件名称,{
data:组件数据,(函数,return 对象)
template:组件模块内容
})
用法:


<组件名称></组件名称>

2.2 组件注册注意
data 需要为函数,保证每个数据相互独立
组件模板的内容必须是单个的根源
组件模板内容可以是模板字符串
2.3 局部组件注册
只能在注册它的父组件中使用

3.Vue调试工具的用法

4.组件间的数据交互方式
4.1 父组件向子组件传值
1.组件内部通过props接收传递过来的值
Vue.component(‘menu-item’,{
props:[‘title’],
template:’

{{title}}

});
2.父组件通过属性将值传递给子组件


3.props属性名规则
* 在props中使用驼峰形式,模板中需要使用短横线的形式
* 字符串形式的模板中没有这个限制
Vue.component(‘menu-item’,{
在JavaScript中是驼峰式的
props:[‘menuTitle’],
template:’
{{ menuTitle }}

})
在HTML中是短横线方式的

4.props传递数据原则:单向数据流
4.2 子组件向父组件传值
1.子组件通过自定义事件向父组件传递信息
<button @click=' e m i t ( " e n l a r g e − t e x t " ) ′ > 扩 大 字 体 < / b u t t o n > 2. 父 组 件 监 听 子 组 件 的 事 件 < m e n u − i t e m @ e n l a r g e − t e x t = " f o n t S i z e + = 0.1 " > < / m e n u − i t e m > 4.3 非 父 子 组 件 间 传 值 1. 单 独 的 事 件 中 心 管 理 组 件 间 的 通 信 v a r e v e n t H u b = n e w V u e ( ) 2. 监 听 事 件 与 销 毁 事 件 e v e n t H u b . emit("enlarge-text")'>扩大字体</button> 2.父组件监听子组件的事件 <menu-item @enlarge-text="fontSize+=0.1"> </menu-item> 4.3 非父子组件间传值 1.单独的事件中心管理组件间的通信 var eventHub = new Vue() 2.监听事件与销毁事件 eventHub. emit("enlargetext")></button>2.<menuitem@enlargetext="fontSize+=0.1"></menuitem>4.31.vareventHub=newVue()2.eventHub.on(‘add-todo’,addTodo)
eventHub. o f f ( ′ a d d − t o d o ′ ) 3. 触 发 事 件 e v e n t H u b . off('add-todo') 3.触发事件 eventHub. off(addtodo)3.eventHub.emit(‘add-todo’,id)

5.组件插槽的用法
5.1组件插槽的作用
* 父组件向子组件传递内容
hi
1.插槽位置
Vue.component(‘alert-box’,{
template:<div class="demo-alert-box"> <strong>Error!</strong> </div>
})
2.插槽内容
Something bad happend.
6.基于组件的方式实现业务功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值