我需要像angularjs中的代码一样创建自己的路由器,因为我需要使用简单的插件系统动态添加路由。我有这样的导航:
<ul>
<li><a href="#page1">page1</a></li>
<li><a href="#page2">page2</a></li>
</ul>
我的控制器看起来像这样:
app.controller('main', function($scope) {
let set = () => {
this.panel = location.hash.replace(/^#/, '');
};
$(window).on('hashchange', () => {
$scope.$apply(set);
});
set();
});
我将根据控制器面板属性显示不同的面板。
但是当我点击链接时我已#!#page1
如何阻止#!#
并将#page1作为哈希?或者只是#!/ page1(但不添加路由器),因为当我添加href =&#34; page1&#34;我已经获得了不存在的页面的正常链接(在角度之外)。
答案 0 :(得分:2)
这就是你需要删除的哈希(#!)。为此,您需要在您的index.html中添加基本标记
<base href="/">
并将@locationProvider html模式设置为true,例如:
angular.module('myApp').config(function ($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true); //activate HTML5 Mode
});
最后一个#iece(#page1)会在那里,因为你要设置id来遍历那个部分