Vue学习笔记第一部分

4 篇文章 0 订阅

一、模板语法

1.{{}}插值表达式、v-text、v-html,这三个中的内容都可以写成js表达式。

二、条件渲染

1.v-if、v-else通常这两个一起用,而且v-else在v-if后面。

v-if、v-else中的input不设置key属性时,input会直接被复用,所以当不需要复用时请加上key属性。

三、列表渲染

1.v-for

给渲染项添加key属性可以提高性能,同时最好不要用index索引值作为key值,key在同级下最好是唯一值。

四、template模板占位符

template标签包裹内容,但不会被渲染,通常用于vue组件或用于包裹循环内容。

五、is属性

html5规范table下面是tbody,tbody下面是tr,不能直接使用定义为tr的组件,需要使用is属性,<tr is="组件名称"></tr>,同理,ul下面是li,select下面是option。

六、$refs

通过this.$refs.ref属性名可以获取到DOM节点。

<div class="todo" ref="todo"></div>
this.$refs.todo

七、父子组件传值

1.父组件通过属性的方式给子组件传值,子组件通过props获得父组件的传值,子组件不能直接改变父组件的传值,因为有单向数据流,可以用通过子组件的data拷贝一份父组件的传值来已达到目的。

2.属性前面不加冒号时,传递的是字符串;属性前面加上冒号后,传递的是js表达式。

八、给组件绑定原生事件

在定义子组件时绑定的事件是原生事件,在DOM中使用子组件时绑定的事件是自定义事件,当点击子组件时触发的是子组件的原生事件,在子组件的原生事件中使用this.$emit('自定义事件名称')或者把自定义事件改为@click.native="自定义事件名称"来触发原生事件。

九、非父子组件间的传值。

1.使用vuex

2.使用总线机制(发布订阅者模式、Bus、观察者模式)

通过在methods中写this.bus.$emit('方法名',要传递的值)向外传递数据,通过在mounted中写this.bus.$on('方法名',function(msg){})获取传递的数据。

十、非props特性

当父组件通过属性给子组件传值但子组件没有接收时,父组件定义的属性会被显示在子组件的属性上。

十一、slot插槽

在子组件中用<slot name="vm"></slot>标签来插入子组件DOM中传来的slot="vm"的内容或标签。slot标签中可以设置默认值,当DOM中没有传时,slot则使用默认值。

十二、作用域插槽

子组件在slot中使用 :属性名="值"的方式向DOM中slot-scope传值,slot-scope属性接收所有的数据。必须使用<template></template>标签并设置slot-scope。

当子组件循环,循环的标签名称由父组件来决定时,使用作用域插槽。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值