前言
常见的两列布局,之前笔者用的 frameset 做,一个页面上有三个 frame(左,右,头部),体验很不好,因为部分代码使用了 Vue ,所以结合 Vue-router 来实现路由,其中也用到了一点点 Vue 自定义组件的内容.当然读者也可以选择其他更轻量级的路由库.
结合Vue-router
基础使用在官网上有更详细的介绍http://router.vuejs.org/,不再赘述,
这里我们要将 path 路径的值传递给我们的自定义组件(其实就是被我们包裹的 iframe)
定义 iframe 组件 frameCompent,这里用 :src 来绑定 iframe 的 url 地址,因为我们要将路径传递给组件, $route.path得到的就是这个路径的字符串形式,注意在 Vue 中这个 $route.path 可以用模板内的表达式进行操作,例如 split,reverse
const frameCompent = { template: <iframe> :src="$route.path" style="xxx">' }
定义 routes 对象,使用’/:xx/:xxx’ 形式的path,iframe 的 url 即为 /xx/xxx
var routes = [
{ path: '/:menu/:select', component: frameCompent },
]
创建 router 对象
var router = new VueRouter({
routes:routes
})
将 router 挂载到 Vue 对象上
const app = new Vue({
router
}).$mount('#app')