1
我试图建立一个vuejs应用程序,将有成百上千的“形式”,或者说都得到动态<component is=''>
标签内换出的“页面”组件。问题是必须导入每个组件。有没有办法根据路由参数动态导入组件?到目前为止,我有以下,但它不工作:Vuejs大型应用延迟加载动态组件
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const Hello = resolve => require(['@/components/Hello.vue'], resolve)
export default new Router({
routes: [{
path: '/',
name: 'Hello',
component: Hello
}, {
path: '/:name',
name: 'Dynamic',
component : {
template: '<component :is="$route.params.name"></component>',
watch: {
'$route': function(to) {
window[to.params.name] = resolve => require(['@/components/' + to.params.name + '.vue'], resolve)
Vue.component(to.params.name, window[to.params.name])
console.log(to.params.name)
}
}
}
}]
})
也许这会帮忙吗? https://gist.github.com/Rich-Harris/ea561810900eedd2a8e9afbc78ddd566 参见SystemJS https://github.com/systemjs/systemjs –