更新时间:2022-02-28 02:48:15
给我们讲讲ngRoute path #的样子吧!#如何解决问题,相信朋友们应该都很关心这个话题,现在就为朋友们说说ngRoute path的出现吧#!#如何解决问题,边肖还收集了关于ngRoute path出现的信息#!#关于如何解决问题的信息,希望你看到会喜欢。
本文向您介绍了ngRoute path #的外观!#解决方案。有一定的参考价值,有需要的朋友可以参考一下,希望能帮到大家。
相关推荐:《angularjs教程》
做开源项目的时候用了' angular-route' :' 1.6.4 ',发现设置A标签的href后,点击后的路径不是#/,而是#!#。但是,我没有设置hashPrefix。
a href=' # about ' class=' ng-binding ' about/a单击标记,它将出现在地址栏中:http://localhost:9000/#!#大约100 .
打印$location。
发现我们设置的$location并没有像预期的那样显示在伪url的path部分,而是显示在hash部分。
原因是:在route 1 . 6 . 0版本中,默认的hashPrefix被改成了"!'。
相当于下面的代码
$locationProvider.hashPrefix('!');下面提供了两种解决方案:
1.将hashPrefix恢复到1.6之前的版本。
$ location provider . hashprefix(“”);2.更改href的格式
a href='#!about ' class=' ng-binding ' about/A还有一点需要注意的是,一旦引入了n route,A标记似乎就会被n route覆盖。一旦href以#开头,它会在url的hash部分加一个/而不是直接把字符串附加到#上,所以不可能像一个href='#about '我研究过的那样跳到ID='。我可以写一个指令,然后调用window.location.hash来解决这个问题。
超文本标记语言
a goto=' # about ' href=' # about ' class=' ng-binding ' about/ajs
定义(['app'],函数(app) {
app.directive('goto ',function () {
返回函数($scope,$elem,$attrs) {
$elem.click(function () {
//console . log($ attrs . goto . substring(1));
window . location . hash=$ attrs . goto . substring(1);
});
};
});
});注意:上面的定义是requireJS定义一个模块。
关于编程的更多信息,请访问:编程教学!也就是说ngRoute路径出现#!#如何解决问题?更多详情请关注php中文网其他相关文章!
来源:php中文网