这是我参与「第五届青训营 」伴学笔记创作活动的第 18 天
插槽(slot)
插槽
使用
官方规定每一个slot插槽,都有一个name名称,如果省略了slot的name属性,则有一个slot的name属性叫做default
如果要把内容填充到指定名称的插槽中,需要使用v-slot,而且要使用在template标签上,不能直接用在元素身上。
例:<template v-slot:default(这里填插槽名称)><p></p></template>
后备内容
具名插槽
拥有name属性,反之没有的叫做匿名插槽
作用于插槽
在封装组件时,为预留的提供属性对应的值,这种用法叫做“作用域插槽”
插槽提供的属性我们用等号来接收,
理解:slot里面的属性值我们可以用等号来接收,。例如我们接收msg,就可以得到msg内容,接受user,可以得到user里面user.name等内容
自定义指令
分类
私有指令
bind是一个函数,缺点是只在第一次被绑定的时候触发, el是固定写法。(这个写在script里面)。
定义指令时,不用加v-,只有在使用的时候才加,变成v-color
update函数
就是把bind的位置替换,用法都是一样的 。但是在第一次是不生效,在后面DOM更新时生效
函数简写
全局指令
注意全局声明的要放到main.js中去
Eslint
(1)安装——直接vscode搜索ESlint
是用来规范代码格式,如果格式不正确,也会报错
报格式错误,可以去网站搜索错误信息,可以查看问题在哪里
扩:希望代码运行在哪里停止就在那里加:debugger
路由
前端路由的概念和原理
(1)路由就是对应关系。前端路由:Hash地址与组件之间的对应关系(我们访问页面网址后面会出现#,#后面的部分对应哈希地址,想要调用使用:location:hash,注意获得的值包括#号)
(2)前端路由的工作方式
- 用户点击了页面上的路由链接
- 导致了 URL 地址栏中的 Hash 值发生了变化
- 前端路由监听了到 Hash 地址的变化
- 前端路由把当前 Hash 地址对应的组件渲染到浏览器中
例:<a herf="#about"></a>——就会看到网址