Vue组件

组件化与模块化的不同
模块化:是从代码逻辑的角度进行划分的;方便代码分层开发,保证每个功能模块的职能单一
组件化:是从UI界面的角度进行划分的;前端的组件化,方便UI组件的重用

高内聚,低耦合:尽可能地将模块内部的联系降到最低,同时尽可能地提高模块内部的内聚度。

为什么组件中的data属性必须定义为一个方法,并返回一个对象? 数据隔离(重点)

一、全局定义

1、Vue.extend()配合Vue.componten()

<html>标签不区分大小写

在app中直接写标签名就可以了
component第一个参数是标签名,第二个extend()的变量名

2、单用Vue.componten()

在app中直接写标签名就可以了
第一个参数还是标签的名字,第二个参数是一个对象。对象中的是template变量

3、通过id与模板建立连接(常用)

第一个参数:标签名
第二个参数:{template:id}对象

注意:在模板中只能有一个div,也就是说,只能在这个div的子级添加标签。而不能在平级添加其他标签

4、通过id与script标签建立连接

script默认的type类型是javascript类型的,一般默认就是此类型,所以可以省略
当我们把type类型改成x-template类型就可以使用它下的标签了

二、私有定义

私有定义同样也是放在单独得el下,与data和methods同级 同样私有定义只能在id为当前得标签中使用,别得都无法使用

三、在组件中使用方法

组件同Vue实例一样,同样拥有Vue中得各个方法,但有一些用法不同于实例化
data需要将其写为一个方法,并且把值写入对象返回出去
不能用html已有得标签名,关键字。因为html会将标签解析为小写,所以不能用大写

同时:可以用v-if来控制一个模板得删除:可以同时触发销毁前和销毁后

四、组件得切换

在父组件在写入component标签,在标签中写入:is属性=三目运算符来实现切换

五、给组件添加动画

用transition标签包裹模板,并为他得style设置六种状态(多用于切换)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值