鍓嶈█瀛﹀畬Vuex鐨勬搷浣滐紝鏄椂鍊欏涔燰ue涓殑璺敱鎿嶄綔浜?...xdm棣栧厛瀹夎vue-cli锛屽畨瑁卾ueaddrouter锛岃繖涓€姝ュ熀鏈幆澧冩惌寤哄畬鎴愩€傞」鐩腑浼氬鍑轰竴涓枃浠跺す锛屽唴瀹瑰涓嬶細鏈€鍚庢毚闇插嚭鏉ワ紝鍙互鍦╩ian.js涓紩鐢ㄣ€傛殏涓斾笉缁嗚銆?.鍩烘湰璺敱浣跨敤鍩烘湰璺敱銆備簨瀹炰笂锛屼綘鍦ㄥ畨瑁呬箣鍚庡凡缁忔湁浜嗕竴涓緥瀛愩€傚湪App缁勪欢涓紝鏈夊涓嬩袱琛屼唬鐮侊紝鍏跺疄鏄矾鐢辫烦杞殑鎰忔€濄€?router-linkto="/">Home|鍏充簬|鎴戜滑浠ュ墠鐢ㄧ殑鏄痶ag锛岃繖閲屽彧鏄负浜嗗府鍔╂垜浠皝瑁呫€傝繖閲岄厤缃殑/鍜?about灏辨槸router鏂囦欢澶逛笅閰嶇疆鐨勮矾鐢辫鍒欙紝姣忎釜璺緞瀵瑰簲鍝釜缁勪欢銆傛晥鏋滃涓嬶細鐐瑰嚮璺宠浆銆傝繖涓槸鏈€鍩烘湰鐨勶紝闅忎究鐪嬬湅锛屽洜涓烘垜浠緢灏戠敤杩欑鏂规硶锛屽熀鏈笂鎴戜滑鍦ㄨ矾鐢辫烦杞殑杩囩▼涓鍋氬緢澶氫簨鎯呫€備絾鏄ぇ瀹舵湁娌℃湁鍙戠幇锛屽彧鏄唴瀹瑰彉浜嗭紝涓轰粈涔堝憿锛熷洜涓篴pp缁勪欢涓殑浠g爜锛屾剰鎬濇槸鍒囨崲璺敱鏃讹紝鍦ㄨ繖閲屾樉绀虹粍浠跺唴瀹广€傝繖鏄渶鍩烘湰鐨勶紝澶у闅忎究鍋氾紝涓嶈浜嗐€備竴涓畝鍗曠殑闂锛屽摢浜涘師濮嬬粍浠跺湪璺敱璺宠浆杩囩▼涓闅愯棌鎴栫牬鍧忎簡锛燂紵锛?銆佸祵濂楄矾鐢憋紙matryoshka锛夋晥鏋滃浘锛氬緢瀹规槗鍦╤ome鍜宎bout涓嬪垎鍒湁涓€涓矾鐢便€傝鎴戜滑鍏堟坊鍔犱袱涓粍浠讹紝鐒跺悗鍦ㄨ矾鐢卞櫒涓厤缃畠浠€俢onstroutes=[{path:'/',name:'Home',component:Home,children:[{path:'/message',name:'message',component:()=>import(/*webpackChunkName:"about"*/'../components/Message.vue'),}]},{path:'/about',name:'About',component:()=>import(/*webpackChunkName:"about"*/'../views/About.vue'),children:[{path:'/news',name:'news',component:()=>import(/*webpackChunkName:"about"*/'../components/News.vue'),},]}]鍏垛€嬧€嬪疄杩樻秹鍙奵hildren杩欎釜灞炴€э紝灏辨槸鍜屼笂绾ц矾鐢卞舰鎴愮埗瀛愬叧绯汇€傝繖鏍蜂竴鍏辨槸涓ゅ濞冨▋锛屾墍浠ヤ笉绠℃湁澶氬皯濂楋紝闅忎究鍐欒繘鍘诲氨瀹屼簡銆備縿缃楁柉濂楀▋鏇剧粡寰堥叿锛屽祵濂楀▋濞冩€绘槸寰堥叿銆傚洓銆佽矾鐢卞弬鏁颁紶閫掔殑鏁堟灉鎴戜滑娣诲姞涓€涓や釜瀛愯矾鐢辨潵瀹炵幇璺敱鍙傛暟浼犻€掋€傛澶栵紝鏇存敼鍘熷缁勪欢銆?.1.鍩虹鐜鎼缓MessageItem缁勪欢NewsItem缁勪欢exportdefault{data(){return{news:[{id:1,title:"001鏂伴椈"},{id:2,title:"002鏂伴椈"},{id:3,title:"003鏂伴椈"}]}}}娑堟伅缁?template>{{message.id}}:{{message.title}}
4.2銆傜涓€绫绘煡璇㈠弬鏁帮細to鐨勫瓧绗︿覆鍐欐硶浣滀负URL鍙傛暟浼犻€掞紝缁勪欢浣跨敤$route.query鑾峰彇Message缁勪欢鐨勫€?liv-for="messageinmessages":key="message.id">{{message.id}}:{{message.title}}}娉ㄦ剰to鍓嶉潰鏄紩鍙凤紝涓棿鐨勫唴瀹逛篃鏄竴涓敤`symbols瑁呴グ鐨凪essageItem缁勪欢Messagenumber:{{$route.璇㈤棶銆俰d}}
娑堟伅鏍囬锛歿{$route.query.title}}
鍏舵锛氬埌瀵硅薄鏂规硶{{message.id}}:{{message.title}}瀵规柟鐨勬帴鏀舵柟寮忚繕鏄拰涓婇潰涓€鏍?.3.绗竴绫籶arams鍙傛暟锛歵o鐨勫瓧绗︿覆鍐欐硶涓庤烦杞摼鎺ョ被浼硷紝浣嗗繀椤诲湪璺敱瑙勫垯涓厤缃?router-link:to="`/item/${message.id}/${message.title}`">{{message.id}}:{{message.title}}{path:'/',name:'Home',component:Home,children:[{璺緞:'/message',name:'message',component:()=>import(/*webpackChunkName:"about"*/'../components/Message.vue'),children:[{path:'/item/:id/:title',//浣跨敤鍗犱綅绗﹀0鏄庢帴鏀秔arams鍙傛暟name:'messageItem',component:()=>import(/*webpackChunkName:"about"*/'../components/MessageItem.vue')}]}]}锛屾敹鍒扮殑娑堟伅鐣ユ湁鍙樺寲锛?p>娑堟伅缂栧彿锛歿{$route.params.id}}
娑堟伅鏍囬锛歿{$route.params.title}}
绗簩绉嶆柟娉曪細to鐨勫璞″啓娉?!--to鐨勫璞″啓娉?->
{{message.id}}:{{message.title}}娉ㄦ剰锛氳繖閲屽繀椤讳娇鐢╪ame锛屽嵆閰嶇疆璺敱鐨勫悕绉般€傝矾鐢辫矾寰?.4鍜岃矾鐢眕rops閰嶇疆锛堝伔鎳掔殑濂藉伐鍏凤級涓嶈兘鐢ㄣ€傝鎴戜滑鎬濊€冧竴涓棶棰樸€傛偍鏄惁璁や负{{$route.params.id}}鎴杮{$route.params.title}}闈炲父閲嶅鍦拌幏鍙栬矾鐢变紶閫掔殑鍊硷紵锛燂紵瑕佽幏鍙栨瘡涓€硷紝鎮ㄥ繀椤诲啀娆$紪鍐?route.params鎴栧墠缂€$this.query銆傛槸涓嶆槸瑙夊緱寰堥噸澶嶏紝閭d箞鏈夋病鏈夋洿绠€鍗曠殑鍛紵锛堜竴浜岃繕鏄畝鍗曪紝涓囦竴璋h█澶氫簡锛岃繖涓猵rops涓€瀹氬伔鎳掟煇ワ級1锛塒rops閰嶇疆鏂规硶涓€锛歿path:'/',name:'Home',component:Home,children:[{path:'/message',name:'message',component:()=>import(/*webpackChunkName:"about"*/'../components/Message.vue'),children:[{path:'/item/:id/:title',name:'messageItem',component:()=>import(/*webpackChunkName:"about"*/'../components/MessageItem.vue'),//绗竴绉嶆柟娉曪細props鍊间负甯冨皵鍊硷紝甯冨皵鍊间负true锛屽垯灏嗚矾鐢辨帴鏀跺埌鐨勬墍鏈塸arams鍙傛暟浼犻€掔粰MessageItem缁勪欢props:true}]}]}锛屼紶閫抪arams鍙傛暟鐨勭埗缁勪欢涓嶇敤鏀癸紝鎴戜滑鏀逛竴涓嬫帴鏀跺埌鐨勫瓙缁勪欢娑堟伅ID锛歿{id}}
Messagetitle:{{title}}
2)閬撳叿閰嶇疆鏂规硶浜岋細鎯充竴鎯筹紝涓婇潰鐨勬柟娉曞彧鑳借В鍐充紶閫抪arams鍙傛暟鏃剁殑缂╁啓锛岄偅濡傛灉鏄紶閫抭uery鍙傛暟鐨勬柟娉曞憿锛熼亾鍏烽厤缃叾瀹炲彲浠ユ敼鎴愪竴涓姛鑳姐€傛敞鎰忥細璁板緱缁冧範锛寋path:'/',name:'Home',component:Home,children:[{path:'/message',name:'message',component:()=>import(/*webpackChunkName:"about"*/'../components/Message.vue'),children:[{path:'/item',name:'messageItem',component:()=>import(/*webpackChunkName:"about"*/'../components/MessageItem.vue'),//props:true//绗簩绉嶅啓娉曪細props鐨勫€兼槸涓€涓嚱鏁帮紝鍑芥暟杩斿洖瀵硅薄涓殑姣忕粍key-value閮戒細浼犻€掔粰MessageItem缁勪欢props($route){return{id:$route.query.id,title:$route.query.title}}}]}]}锛屾兂鎺ユ敹浠€涔堬紝鎴戜滑鍐欏埌杩欓噷灏卞畬浜嬩簡銆傝鍒板瓙缁勪欢锛屾垜浠洿鎺ヤ娇鐢ㄨВ鏋勬柟娉昿rops({query}){return{id:query.id,title:query.title}}姣旇緝鎳掔殑鏄户缁В鏋勶細props({query:{id,title}}){return{id,title}}鐪熸槸鎳掑緱璁╀汉杩涙銆?.绋嬪簭鍖栬矾鐢?.1銆傜▼搴忓寲璺敱閲嶅畾鍚戜箣鍓嶆垜浠娇鐢?router-linkto="/news">news鏉ュ疄鐜拌矾鐢遍噸瀹氬悜锛屼絾鏄湪瀹為檯寮€鍙戜腑閫氳繃鐐瑰嚮鎸夐挳鎴栬€呰Е鍙戜竴浜涗簨浠讹紝鐒跺悗璺宠浆锛屽苟涓嶆槸鐗瑰埆閫傚悎浣跨敤router-link銆傛湁缂栫▼璺敱銆?liv-for="messageinmessages":key="message.id">{{message.id}}:{{message.title}}|鐐瑰嚮璺宠浆鍒皗{message.title}}椤甸潰浣跨敤鏂规硶璺宠浆methods:{showMessageItem(id,title){this.$router.push({path:'/item',query:{id:id,title:title}})}}濡傛灉鏄痯arams锛屽垯鍚屽墠;showPamarsMessageItem(id,title){this.$router.push({name:'messageItem',params:{id:id,title:title}})}鐩稿叧淇℃伅涔熻鏀癸紝璺敱涓厤缃殑props5.2銆佺▼搴忓寲鎺у埗鍓嶈繘鍚庨€€瀵逛簬娴忚鍣ㄤ腑鐨勫墠杩涘悗閫€鎸夐挳鎴戜滑涓€瀹氬緢鐔熸倝浜嗐€傚叾瀹炶繖涔熷彲浠ラ€氳繃缂栫▼鏉ュ疄鐜般€?template>杩斿洖|鍓嶈繘|go涓婚〉|鍏充簬|