vue项目中应该注意的小知识点

vue-router

1.项目中不同地方使用同一组件,但是需要通过from来改变该组件中某一个title(变量)时,需要使用导航守卫(原本是导航钩子):

//跟data,method,created同级创建该属性。
beforeRouterEnter(to, from, next){
   let mytitle = '';
   if(from.name === "路由中定义的name的字符串,如news.list"){
      mytitle = "新闻详情";
   }else if(from.name === "goods.list"){
      mytitle = "商品详情";
   }
   next(vm=>{
      vm.title = mytitle; //title为data中定义的变量
   })
}

需要注意:

  • 在渲染该组件的对应路由被 confirm 前调用
  • 不!能!获取组件实例 this
  • 因为当守卫执行前,组件实例还没被创建

$set

项目中给某对象,或给某实例添加新的属性时,不会触发视图更新。这时就需要用到vm.$set(target, key, value)
参数:

  • {Object | Array} target
  • {string | number} key
  • {any} value

vuex IE 报错问题

报错内容:[vuex] vuex requires a Promise polyfill in this browser.
1.引入babel-polyfilles6-promise

npm install es6-promise babel-polyfill -S

2.在引入import Vuex from 'vuex'之前引入import 'babel-polyfill'
3.在webpack.config.js中修改

entry: ['babel-polyfill','./src/main.js'],

你可能感兴趣的:(vue项目中应该注意的小知识点)