在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ dva 路徑中# 怎么去掉

dva 路徑中# 怎么去掉

比如我要訪問的是首頁 http://localhost:3000/
地址欄顯示的是 http://localhost:3000/#/
這樣子就很丑了,請問要怎么去掉?

還有就是看到vue教程中的demo 路徑中也是帶#,路徑中帶#這樣做有什么意義嗎

回答
編輯回答
替身
  1. 頁面不用重新發(fā)起HTTP請求
  2. 沒有兼容問題,如果不帶#號,需要使用html5的historyAPI,老瀏覽器不兼容
2017年6月28日 13:25
編輯回答
貓小柒

剛剛爬完這個坑,我真的不能理解為什么那么多人不停地回答一些不能用的答案,能不能自己試試再來寫?

首先,經(jīng)過本人測試,
import { BrowserHistory } from 'dva/router' 這個 history 是不能去掉#的?。?!
應該使用
import { createBrowserHistory } from 'history'
注意這里的 createBrowserHistory 是一個方法,執(zhí)行后返回一個 history 對象,和上面那個 BrowserHistory 不同!
然后在dva的初始化對象里寫:
const app = dva({ history: createBrowserHistory() })

以下是我的代碼:

import React from 'react';
import dva from 'dva';
import { BrowserRouter as Router, Route } from 'dva/router';
import { createBrowserHistory } from 'history';
import { getModels } from './utils/combiner';
import './global.scss';

import mainRect from './pages/mainRect/main';

const app = dva({
  history: createBrowserHistory()
});

app.router(() =>
  <Router>
    <Route path={'/'} component={mainRect} />
  </Router>
);

getModels().map((model) => app.model(model));

app.start('#main-rect');
2018年5月11日 20:10
編輯回答
溫衫

帶#的url 一般是hasHistory,所以你只需要設置相應的history就可以了。

2017年10月4日 01:58