国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

angular.js - 只有用#,angularjs和vuejs的路由才能識(shí)別路徑?

瀏覽:155日期:2024-03-17 14:46:25

問題描述

在Angular中

這是我的路由:

phonecatApp.config([’$routeProvider’, function($routeProvider) { $routeProvider. when(’/phones’, {templateUrl: ’partials/phone-list.html’,controller: ’PhoneListCtrl’ }). when(’/phones/:phoneId’, {templateUrl: ’partials/phone-detail.html’,controller: ’PhoneDetailCtrl’ }). otherwise({redirectTo: ’/phones’ }); }]);

這是我的html代碼:

<a href='http://www.cgvv.com.cn/wenda/14527.html#/phones/{{phone.id}}'>{{phone.name}}</a>

href屬性的開頭是個(gè)#號(hào),當(dāng)帶著這個(gè)#號(hào)的時(shí)候,路由是正常工作的。如果去掉#號(hào),路由就找不到路徑了:

Not found同樣的事情還發(fā)生在vuejs里

當(dāng)我使用vuejs和vue-router的時(shí)候,這是我的路由:

var router = new VueRouter();router.map({ '/': {component: phoneList }, '/phones': {component: phoneList }, '/phones/:phoneId': {component: { template: ’TBD: detail view for <span>{{$route.params.phoneId}}</span>’,} }});router.start(app, '#app');

這是html:

<a href='http://www.cgvv.com.cn/wenda/14527.html#/phones/{{phone.id}}'>{{phone.name}}</a>

同樣的,帶著#號(hào)路由正常工作,去掉就:

Cannot GET /phones/motorola-xoom-with-wi-fi

為什么會(huì)這樣?這個(gè)#號(hào)到底有什么作用?為什么http://localhost:8000/phones/motorola-xoom就不能識(shí)別,http://localhost:8000/app/index.html#/phones/motorola-xoom就能識(shí)別出來?

問題解答

回答1:

Web App 中需要通過URL 標(biāo)識(shí)不同狀態(tài),不同狀態(tài)對(duì)應(yīng)不同URL 既方便前進(jìn)后退,也方便保存書簽。不過Web App 中為保證用戶體驗(yàn),頁面狀態(tài)的轉(zhuǎn)換一般是不刷新頁面的,這往往通過ajax實(shí)現(xiàn)。傳統(tǒng)的ajax不會(huì)影響地址欄(請(qǐng)求通過XHR對(duì)象完成,而不是請(qǐng)求新URL),那如果你想讓URL對(duì)應(yīng)不同的頁面狀態(tài)怎么辦?windows.location之類的方法是會(huì)刷新整個(gè)頁面的。這就需要用到傳統(tǒng)的#了。錨點(diǎn)這東西本來是讓你在當(dāng)前頁面的不同部分移動(dòng)的,支持前進(jìn)后退和保存書簽,于是就被拿來應(yīng)用在Web App的路由中。這樣www.example.com/index.html#phones 和www.example.com/index.html#users 就能表示兩個(gè)狀態(tài),而且轉(zhuǎn)換不會(huì)刷新頁面。新的History API可以把#去掉,不過需要服務(wù)器提供一份fallback版本,這里就不細(xì)說了。

回答2:

先學(xué)習(xí)一下前端路由的基本知識(shí),onHashChange, pushState 這些最基本的東西,甚至自己寫一個(gè)小規(guī)模的路由,再去用!

即使你不學(xué),請(qǐng)認(rèn)真完整的閱讀官方文檔,官方例子寫得很明白!

回答3:

var router = new VueRouter({ history: true, //html5模式 去掉錨點(diǎn) saveScrollPosition: true //記住頁面的滾動(dòng)位置 html5模式適用})

vue配置路由模式為html5模式 ,官方文檔里有提到 但是沒說怎么寫

回答4:

建議在 html 里 使用 v-link=“{path : ’/phones’}” 這樣 你就不用管 hash 了

回答5:

這是前端實(shí)現(xiàn)路由的方式,#后面也就是所謂的hash,其實(shí)類似錨點(diǎn),你所想的那種是path,是需要后端配合的,至于pushstate之類就是為了體驗(yàn)更好,可以后退前進(jìn)。

回答6:

百度下錨點(diǎn)鏈接,然后看下angularjs和vuejs的文檔,兄弟

標(biāo)簽: vue
主站蜘蛛池模板: 一级毛片免费完整视频 | 中国一级毛片视频 | 精品一区二区三区18 | 国产精彩视频在线观看 | 午夜宅男在线永远免费观看网 | 波多野结衣在线播放 | 国产欧美日韩综合一区二区三区 | 免费视频精品一区二区三区 | 一区二区三区视频在线 | a毛片免费观看完整 | 国产亚洲欧美日韩国产片 | 欧美一级看片免费观看视频在线 | 久久毛片网 | 顶级毛片在线手机免费看 | 国产手机在线视频放线视频 | 国产成人自拍在线 | 男人天堂男人天堂 | 国产精品久久久久久久久免费观看 | 久久久久久国产精品视频 | 九九九国产在线 | 日本免费三级网站 | 亚洲精品成人一区二区aⅴ 亚洲精品成人一区二区www | 久久精品国产99国产精品免费看 | 欧美一级网站 | 亚洲欧美日韩国产精品一区 | 日韩国产欧美在线观看一区二区 | 国产日韩精品一区二区三区 | 午夜a毛片 | 嫩草影院ncyy在线观看 | 悠悠影院欧美日韩国产 | 欧美一级香蕉毛片 | 国产一区私人高清影院 | 99爱视频 | 99视频网站 | 日本欧美一区二区 | 国产第一区二区三区在线观看 | 长腿美女被啪的欲仙欲死视频 | 日本成a人片在线观看网址 日本成年人视频网站 | 夜间福利网站 | 欧美极品在线视频 | 欧美美女一区二区三区 |