0%

适用于页面切换

  1. 定义组件curPage
  2. 使用<component :is="curPage">
  3. 当is="xxx"的组件改变,除当前活动组件外的组件会销毁

内置组件 keep-alive

1
2
3
4
5
6
7
1. 用keep-alive 组件包裹住我们的需要缓存的组件
2. 缓存的结果就是这个组件不会被销毁,也就不会被重新创建
3. 缓存上的组件会多出2个生命周期函数,activated(激活) 和 deactivated(失活)
4. keep-alive 上的一些属性
4.1 include 定义包含哪些需要缓存的组件
4.2 exclude 定义包含哪些不需要缓存的组件
4.3 max 定义最多可以缓存多少个组件

当使用路由参数时,例如从 /user/foo 导航到 /user/bar,原来的组件实例会被复用。因为两个路由都渲染同个组件,比起销毁再创建,复用则显得更加高效。不过,这也意味着组件的生命周期钩子不会再被调用。

解决办法

1.监听$ route

1
2
3
4
5
6
7
8
const User = {
template: '...',
watch: {
'$route' (to, from) {
// 对路由变化作出响应...
}
}
}

2. 使用 beforeRouteUpdate 导航守卫

1
2
3
4
5
6
7
8
const User = {
template: '...',
beforeRouteUpdate (to, from, next) {
// to 要去的路由
// from 从哪里来
// next 是否放行,是个方法。调用才能去目标路由
}
}

老是忘记,汇总一下

v-bind

v-on

v-if

v-else

v-for

  1. 需要配合使用v-bind:key,循环出来的每一项的 key 值需要保持唯一,一般我们使用循环的数据中某个特殊的属性来作为key的值,或者使用index。
  2. 使用 key 之后,vue底层会帮我们做优化,提升性能。

v-show

v-model

语法糖

通过 js 代码的方式来控制页面的跳转。 在 Vue 实例内部,你可以通过 $router 访问路由实例。this.$router.push()

阅读全文 »

有一个组件grid01,通常使用它 : <grid01></grid01>,假如我们想在标签里面渲染内容:<grid01><h1>你好</h1></grid01>,这时就可以使用插槽。

阅读全文 »

Vuex使用

什么时候需要使用vuex? 1.当项目使用了vue-router,并且多个页面之间需要共享数据的时候。 2.共享数据难以统一管理的时候。

阅读全文 »

1.what?

Kafka是一种高吞吐量的分布式发布订阅消息系统。

阅读全文 »