亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:150日期: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.aoyou183.cn/wenda/14527.html#/phones/{{phone.id}}'>{{phone.name}}</a>

href屬性的開頭是個#號,當帶著這個#號的時候,路由是正常工作的。如果去掉#號,路由就找不到路徑了:

Not found同樣的事情還發生在vuejs里

當我使用vuejs和vue-router的時候,這是我的路由:

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.aoyou183.cn/wenda/14527.html#/phones/{{phone.id}}'>{{phone.name}}</a>

同樣的,帶著#號路由正常工作,去掉就:

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

為什么會這樣?這個#號到底有什么作用?為什么http://localhost:8000/phones/motorola-xoom就不能識別,http://localhost:8000/app/index.html#/phones/motorola-xoom就能識別出來?

問題解答

回答1:

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

回答2:

先學習一下前端路由的基本知識,onHashChange, pushState 這些最基本的東西,甚至自己寫一個小規模的路由,再去用!

即使你不學,請認真完整的閱讀官方文檔,官方例子寫得很明白!

回答3:

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

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

回答4:

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

回答5:

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

回答6:

百度下錨點鏈接,然后看下angularjs和vuejs的文檔,兄弟

標簽: vue
主站蜘蛛池模板: 国产精品夫妇久久 | 国产高清美女一级毛片久久 | 伊人影院综合网 | 成人免费一区二区三区 | 国产丝袜视频在线观看 | 91精品欧美综合在线观看 | 国产精品v欧美精品v日本精 | 亚洲欧美日韩国产色另类 | 成人在线一区二区 | 精品国产成人综合久久小说 | 黄网在线免费 | 成人亚洲欧美 | 国产人成午夜免视频网站 | 免费看一级毛片欧美 | 国产在线欧美日韩精品一区二区 | 五月天色丁香 | 在线播放高清国语自产拍免费 | 成人91视频 | 成人精品视频在线 | 欧美草逼网 | 一二三区在线视频 | 国产精品欧美一区二区三区不卡 | 国产一级片网址 | 黄色短片免费看 | a级毛片视频免费观看 | 2021久久精品99精品久久 | 久久成人国产精品青青 | 中文字幕第一页在线视频 | 成人国内精品久久久久影院 | 精品国产福利第一区二区三区 | 99久久国产免费中文无字幕 | 91网站入口最新 | 亚洲第一区视频 | 免费在线观看一区二区 | 欧美日韩一日韩一线不卡 | 欧美成人免费全部观看在线看 | 秀人网福利视频在线观看 | 国产精品毛片一区二区三区 | 麻豆日韩区久久综合 | 亚洲精国产一区二区三区 | 自拍 欧美 在线 综合 另类 |