实现子路由嵌套使用:
<router-link to="/home"><router-link>
注意:to后面必须以 ‘ / ’ 开头
1. 在需要放置路由的组件里,放置占位符:
<router-view />
2. 配置路由规则:
在src -> router -> index.js 中:配置子路由的规则
{
path: '/',
name: 'home',
component: HomeView,
children: [
{ path: 'rotation', component: rotationPicture }
]
},
注意: 在子路由(children)中的 path 路径中,不能写 ‘ / ’;
使用 swiper 组件需要注意的问题:
【复习:钩子函数】在组件中,引用swiper插件的时候,需要将script里面对 DOM 元素的操作挂载在mounted钩子函数中。
因为:在组件中对DOM进行操作,最少是在 mounted (挂在完成)的生命周期函数里。
EventLoop (事件循环):
1. 异步任务是由 js 委托给宿主环境执行的,异步任务中的回调函数是由 javascript 主线程执行的
2. javaScript 主线程从 "任务队列" 中读取异步任务中的回调函数,放到执行栈中依次执行,这个过程是循环不断的。
宏任务和微任务:
异步任务进一步划分为宏任务与微任务
宏任务:异步 Ajax 的请求,setTimeout,setInterval,文件操作...
微任务:Promise.then,.catch,.finally,process.nextTick...
nextTick(cd) 会把cb回调函数推迟到下一个DOM 更新周期之后执行
node中的同步 api 与异步 api :
同步 api 可以从返回值中拿到 api 执行的结果,但是异步 api 不可以
如何拿到: 通过回调函数拿到
回调函数: 自己定义函数,让别人去调用
promise:解决 Node,js 异步编程中回调地狱的问题
1. 只是异步编程语法上的改进,promise本身是一个构造函数
2. 分离异步api的执行 和 结果的处理
既解决回调地狱的问题,又使代码看起开清晰明了:异步函数
异步函数的特点:
1. 异步函数默认的返回值是 promise 对象
异步编程:
1. 异步函数是异步编程的终极解决方案
2. 在普通函数定义的前面加上 async 关键字,普通函数就变成了异步函数
3. throw 关键字本意是抛出异常,throw 执行之后后面的代码将不再执行
4. await 关键字只能出现在异步函数中
5. await 后面跟着 promise 对象,它可以暂停异步函数的执行,等待 promise 对象返回结果后再向下执行,并且可以通过返回值的方式拿到返回结果了。