1、vue2中的路由定义层:<router-linkto="/goods">商品</router-link> 这里用to指向路径表现层
1.1、<keep-alive>如果把切换出去的组件保留在内存中,可以保留它的状态或避免重新渲染。为此可以添加一个keep-alive指令
<keep-alive><router-view:seller="seller">content</router-view></keep-alive>
1.2使用router的过程中出现的报错情况 提示 (Unknown custom element: <router-view> - did you register the component corre)出现的问题可能有以下几个情况:
1.2.1 <router-link to="/goods">商品</router-link> to不能少 不能少
1.2.2在main.js中 import VueRouter from 'vue-router' 注意大小写的区分
1.2.3 Vue.use(VueRouter) 当然这句也是不能少滴 因为在一个模块化工程中使用router,必须要通过Vue.use()
明确地安装路由功能
1.2.4 剩下的就是按照api来写
const routes = [
{ path:'/goods', component: Goods },
{ path:'/ratings', component: Ratings },
{ path:'/seller', component: Seller }
]
const router = new VueRouter({
routes
})
1.2.5 最后一句
new Vue({el: '#app',
router ,
render: h => h(App)
})
2.对router的定义与理解
路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的about 按钮,页面中就要显示about 的内容。Home按钮 => home 内容, about按钮 => about 内容,也可以说是一种映射. 所以在页面上有两个部分,一个是点击部分,一个是点击之后,显示内容的部分。
点击之后,怎么做到正确的对应,比如,我点击home 按钮,页面中怎么就正好能显示home的内容。这就要在js 文件中配置路由。
路由中有三个基本的概念 route, routes, router。
1, route,它是一条路由,由这个英文单词也可以看出来,它是单数, Home按钮 => home内容, 这是一条route, about按钮 => about 内容, 这是另一条路由。
2, routes 是一组路由,把上面的每一条路由组合起来,形成一个数组。[{home 按钮 =>home内容 }, { about按钮 => about 内容}]
3, router 是一个机制,相当于一个管理者,它来管理路由。因为routes 只是定义了一组路由,它放在哪里是静止的,当真正来了请求,怎么办? 就是当用户点击home 按钮的时候,怎么办?这时router 就起作用了,它到routes 中去查找,去找到对应的 home 内容,所以页面中就显示了 home 内容。
4,客户端中的路由,实际上就是dom 元素的显示和隐藏。当页面中显示home 内容的时候,about 中的内容全部隐藏,反之也是一样。客户端路由有两种实现方式:基于hash 和基于html5 history api.
vue-router中的路由也是基于上面的内容来实现的在vue中实现路由还是相对简单的。因为我们页面中所有内容都是组件化的,我们只要把路径和组件对应起来就可以了,然后在页面中把组件渲染出来。
1, 页面实现ÿ