avatar
fireworks99
keep hungry keep foolish
@click vs onclick
  • onclick可以由JS引擎直接识别,在全局寻找对应处理方法。
  • @click是vue语法糖,由vue在自己的methods里寻找对应处理方法。
Read more -->
elementUI .sync

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 -->
JS async/await

基于Promise的API,例如axios等,在使用时可以简化语法,方法是使用async/await组合。

await关键字只在 async 函数内有效。如果你在 async 函数体之外使用它,就会抛出语法错误 SyntaxError。

await 表达式会阻塞后续脚本的执行,直到其等待的基于 promise 的异步操作被兑现或被拒绝之后才会恢复进程。

Read more -->
JS this

1:this永远指向一个对象;

2:this的指向完全取决于函数调用的位置;

Read more -->
Vue :childProps.sync='parentData'

Description

Vue中,父组件通过props向子组件传递数据,如果子组件想要修改这一数据,只能通过$emit触发父组件的一个事件,在这个事件的处理方法中修改这个值。

现在有一种方法可以省略父组件中的这个method:

<cpn :childProps.sync='parentData'></cpn>

Read more -->
Vue i18n

Vue 国际化

  1. $t
  2. vue-i18n
Read more -->
Vue 表单验证

表单验证+响应性

实时验证表单填写是否正确

Read more -->
arr.some

Description

场景:现在有个数组,数组中必定有0或1个元素是我要找的,除了用for循环还可以用some方法。

Read more -->
Vue Router

路由的两种方式

  1. Hash:location.hash = 'about',形如file:///Users/.../202303311041.html#foo
  2. HTML5 History API:
    • history.pushState({}, '', "about") (可返回)
    • history.replaceState({}, '', about);不可返回
    • history.go(num)
Read more -->
Vue Vuex

需求:一个计数器组件,要渲染三次,这个计数器组件展示count变量,添加一个按钮,点击这个按钮一次,三个计数器都++。

Read more -->
Site by Baole Zhao | Powered by Hexo | theme PreciousJoy