const userCenter = resolve => require(['@/pages/usercenter'], resolve); const userInfo = resolve => require(['@/pages/usercenter/userInfo'], resolve); const resetPwd = resolve => require(['@/pages/usercenter/resetPwd'], resolve);
2.require.ensure commomjs規範javascript
//預加載 懶執行 require.ensure(['./mod.js'], function(require){//這裏數組裏是要預加載的模塊,不寫不會先下載 var mod = require('./mod.js'); mod.show(); });
proxyTable能夠解決咱們在vue項目中開發環境的跨域問題,可是沒法解決生產環境上的跨域問題,有的時候生產環境上也須要處理跨域問題,這個時候 proxyTable就無論用咯,咱們公司目前用的nginx代理css
//傳參: this.$router.push({ path:'/xxx', query:{ id:id } }) //接收參數: this.$route.query.id
2.params方式傳參和接收參數
注意:params傳參,push裏面只能是 name:'xxxx',不能是path:'/xxx',由於params只能用name來引入路由,若是這裏寫成了path,接收參數頁面會是undefined!!!vue
//傳參: this.$router.push({ name:'xxx', params:{ id:id } }) //接收參數: this.$route.params.id
watch: { $route: function() { var tech_type = this.$route.params.tech_type; //執行一些操做 } },
當有一些數據須要隨着另一些數據變化時,建議使用computed。
當有一個通用的響應數據變化的時候,要執行一些業務邏輯或異步操做的時候建議使用watchjava
<template> <div id="app"> <!--緩存想要緩存的頁面,實現後退不刷新--> <!--加上v-if的判斷,能夠自定義想要緩存的組件,自定義在router裏面--> <keep-alive> <router-view v-if="$route.meta.keepAlive"></router-view> </keep-alive> <router-view v-if="!$route.meta.keepAlive"></router-view> <!--這裏是其餘的代碼--> </div> </template>
import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ {//home會被緩存 path:"/home", component:home, meta:{keepAlive: true} } {//hello不會被緩存 path:"/hello", component:hello, meta:{keepAlive: false} } })
<!-- HTML --> <div id="app"> <div class="outeer" @click.stop="outer"> <div class="middle" @click.stop="middle"> <button @click.stop="inner">點擊我(^_^)</button> </div> </div> </div>
擴展:webpack
.prevent:取消默認事件,等同於JavaScript中的event.preventDefault()。