vue小结
1.计算属性和侦听器
computed: {
  total() {
    return this.courses.length      
  }
},
watch: {
  courses: {
    immediate: true,
    handler(newValue, oldValue){
      this.totalCount=newValue.length
    }
  }
}
计算属性可以缓存数据,适用于一个数据受多个数据影响,大部分会用到;
监听器适用于执行异步操作或者较大开销操作的情况,异步操作比如请求后台的数据,需要监听数据的变化,用最新的数据怎么地,还有就是可用于监听路由的变化
2.生命周期

Vue 实例从创建到销毁的过程,就是生命周期;
created表示完成数据观测,属性和方法的运算,初始化事件,$el属性还没有显示出来;
DOM渲染在mounted中就已经完成了;
使用场景:
 
3.API
Vue.set/this.$set 向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新, 使用:Vue.set(c, 'price', this.price);
Vue.delete 删除对象的属性。如果对象是响应式的,确保删除能触发更新视图, 使用:Vue.delete(target, propertyName/index)
this.$refs.name
this.$nextTick(()=>{})
this.$forceUpdate()
this.$destroy()
4.路由
路由配置:
{
    path: '/about',
    name: 'about',
    component: ()=>import(/* webpackChunkName: "about" */ '../views/About.vue'),
    children: [
      {
         path: ':name',
         component: ()=>import('../views/Detail.vue')
      } 
    ]
}
父组件内加上路由出口router-view
同一个父菜单下不同的子页面,用路由导航页面时要么检测不到页面变了,数据不请求,要么用了watch之后只在切换时请求数据,第一次不请求,这时候可以用以下方法解决:

5.vuex
mapState()/mapMutation()/mapAction()映射方法
import { mapState,mapMutation,mapAction, mapGetters } from 'vuex' 
computed: {
    ...mapState('user', ['isLogin'])
    ...mapGetters('aaa', ['bbb']);
}
methods: {
    ...mapActions('user', ['userLogin'])
    ...mapmapMutation()
}
posted on 2020-03-01 23:27 yemiaomiao 阅读(134) 评论(0) 收藏 举报
 
                    
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号