elementUI的分页组件el-pagination,有一个属性叫current-page,由调用它的组件(即父组件)通过props传给它(el-pagination)。
有一种情境:数据很多时,当前有多页(1~N),1 < current-page <= N,当一次点击使数据变得很少以至于只有一页数据时,el-pagination组件把当前页码置为1,又因为current-page是父组件的数据,所以只能由父组件来修改,即要么添加.sync修饰符,要么向父组件发送事件父组件在methods里自己改。
如果什么都不做,那么current-page还是原先那个大于1的数字(比如是2),但此时子组件里当前页码是1,产生了冲突。假如此时一次点击使数据变得较多产生了很多页,那么当前页码是1,但是current-page是2,此时用户点击页码2想跳转到第二页,但是点击之后current-page被复制为2,子组件发现current-page被赋值前后没有变化,故页码2不会被高亮,页码1仍高亮。
Read more -->基于Promise的API,例如axios等,在使用时可以简化语法,方法是使用async/await
组合。
await关键字只在 async 函数内有效。如果你在 async 函数体之外使用它,就会抛出语法错误 SyntaxError。
await 表达式会阻塞后续脚本的执行,直到其等待的基于 promise 的异步操作被兑现或被拒绝之后才会恢复进程。
Read more -->Vue中,父组件通过props向子组件传递数据,如果子组件想要修改这一数据,只能通过$emit触发父组件的一个事件,在这个事件的处理方法中修改这个值。
现在有一种方法可以省略父组件中的这个method:
<cpn :childProps.sync='parentData'></cpn>
location.hash = 'about'
,形如file:///Users/.../202303311041.html#foo
history.pushState({}, '', "about")
(可返回)history.replaceState({}, '', about)
;不可返回history.go(num)