<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
第一點:
第二點:
第三點:
宣告:由於路由和傳參和引數獲取密切結合,所以將他們混合在一起講解,最後會附加一個範例。
<router-link v-bind:to="/foo">登幽州臺歌</router-link>
<router-link :to="{ name: 'wuhan', query: {city: 'wuhan'}}">router1</router-link>
注意這裡的name指的是具名路由,在路由列表中的設定如下
{ name: 'wuhan', path: '/wuhan', component: WuHan }
而WuHan則是這個路由要抵達的模板或者說頁面,定義如下
const WuHan = {template: '<div>武昌, 漢口, 漢陽 --- {undefined{$route.query.city}}</div>'}
注意由於在<router-link>中是通過query的形式區傳遞引數,所有在目的地頁面中也只能採用query的形式獲取引數。
也可以不採用query的方法,而採用params的形式傳遞引數
<router-link :to="{ name: 'wuhan', params: {city: 'wuhan'}}">router3</router-link><br>
那麼在在路由列表中的path中必須帶上params傳遞過來的引數,否則在目的頁面中無法獲取引數
{ name: 'wuhan', path: '/wuhan/:city',component: WuHan }
在目的頁面中以params的形式獲取引數對應的值
const WuHan = {template: '<div>武昌, 漢口, 漢陽 --- {undefined{$route.params.city}}</div>'}
注意事項:不可以在<router-link>的路由物件中同時出現path和params,此時params作廢。目的頁面中獲取不到引數。
推薦是name和params搭配,path和query搭配。最好時不用params而只是用query的形式傳遞引數以及獲取引數,
因為採用params的方式傳遞引數,當你進入到目的頁面後確實能夠正確地獲取引數,但是,當你重新整理頁面時,引數就會丟失。
所以推薦使用query地形式傳遞引數。
$router地型別時VueRouter,整個專案只有一個VueRouter範例,使用$router是實現路由跳轉的,$router.push()。
跳轉成功後,抵達某一個頁面,此時要獲取從上一個頁面傳遞過來的引數,此時使用$route。
或者是$route.query.city,或者是$route.params.city。也就是說,$router和$route作用在路由不同的階段。
<html> <head><meta charset="UTF-8"></head> <body> <script src="https://unpkg.com/vue/dist/vue.js"></script> <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script> <div id="app"> <h1>Hello App!</h1> <p> <!-- use router-link component for navigation. --> <!-- specify the link by passing the `to` prop. --> <!-- <router-link> will be rendered as an `<a>` tag by default --> <router-link to="/foo">登幽州臺歌</router-link> <router-link to="/bar">江雪</router-link> <router-link to="/city/中國">西安</router-link> <router-link to="/city/希臘">雅典</router-link> <router-link to="/book/史鐵生">務虛筆記</router-link> <br> <router-link :to="{ name: 'wuhan', query: {city: 'wuhan'}}">router1</router-link><br> <router-link :to="{ path: '/wuhan', query: {city: 'wuhan'}}">router2</router-link><br> <router-link :to="{ name: 'wuhan', params: {city: 'wuhan'}}">router3</router-link><br> </p> <!-- route outlet --> <!-- component matched by the route will render here --> <router-view style="margin-top: 100px"></router-view> </div> <script> // 1. Define route components. // These can be imported from other files const Foo = { template: '<div>前不見古人,後不見來者。念天地之悠悠,獨愴然而涕下!</div>'}; const Bar = { template: '<div>千山鳥飛絕,萬徑人蹤滅。孤舟蓑笠翁,獨釣寒江雪。</div>' }; const Capital = { template: '<div>時間已經摧毀了多少個西安城,雅典城。{{$route.params.country}}</div>' } const Book = {template: '<div>務虛筆記 ---by {{$route.params.author}}</div>'} const WuHan = {template: '<div>武昌, 漢口, 漢陽 --- {{$route.params.city}}</div>'} // 2. Define some routes // Each route should map to a component. The "component" can // either be an actual component constructor created via // Vue.extend(), or just a component options object. // We'll talk about nested routes later. const routes = [ { path: '/foo', component: Foo }, { path: '/bar', component: Bar }, { path: '/city/:country', component: Capital }, { path: '/book/:author', component: Book }, { path: '/wuhan/:city', name: 'wuhan', component: WuHan } ] // 3. Create the router instance and pass the `routes` option // You can pass in additional options here, but let's // keep it simple for now. const router = new VueRouter({ routes: routes }) /* function navigate() { router.push({ path: '/wuhan', params: { city: 'wuhan' } }); } */ // 4. Create and mount the root instance. // Make sure to inject the router with the router option to make the // whole app router-aware. const app = new Vue({router: router}).$mount('#app') // Now the app has started! </script> </body> </html>
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45