当link只是"#"时,防止routeparams改变视图
Prevent routeparams from changing view when link is just "#"
我使用$routeParams进行以下配置:
controllersModule.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/home', {
templateUrl: 'views/home.html',
controller: 'HomeController'
}).
when('/history', {
templateUrl: 'views/history.html',
controller: 'HistoryController'
}).
otherwise({
redirectTo: '/home'
});
}
]);
可以正常工作
但是在我的页面有一些链接有href="#"
。当点击这些链接时,我得到一个空白页面。
大多数这些链接会消失,而在项目上工作,因为他们只是占位符,但我仍然很好奇,如果有一些方法来防止这种情况的发生。我曾尝试从"a"标签中删除href属性,但这将删除鼠标指针(我知道我可以添加一个css规则),但我想要一个解决方案,我可能会把路由
将#
替换为javascript:void(0);
当浏览器跟随javascript: URI时,它计算URI,然后将页面内容替换为返回的值,除非返回值为undefined
,否则您的页面保持不变并且不做任何事情。
不处理a
元素
<a href="javascript:void(0);">
Click here to do nothing
</a>
从MDN: 但是请注意,不鼓励使用javascript: pseudo协议
更新:
对于ng-href
,如果数据来自$scope
,值为#
,则只需将#
的值替换为空字符串,以便页面不会重定向到任何页面。
this.mylink = this.mylink !== '#' ? this.mylink : '';
相关文章:
- 防止Iframe窗体在新窗口中打开
- 有没有一种方法可以防止img get请求使用css或js发生
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 铬:“;未捕获的语法错误:意外的标记:"
- 如何防止网页加载后自动启动功能
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 当json解析空响应时,Whatwg-Fetch失败,我该如何防止它
- 防止默认锚点行为AngularJS
- 如何防止jQueryonclick事件中的Ruby方法在页面刷新时执行
- 使用“+="操作人员
- 防止ng重复中的重复值(AngularJS)
- //而不是在src=“”上使用http://"属性
- 防止“;jQuery(html)"防止触发浏览器请求图像和其他参考内容
- 防止谷歌自动触发数据onsuccess="onSignIn”;
- 使用自定义方案打开应用程序-防止“;在<appname>"警告
- 如何防止丑女出逃"</脚本“;在字符串中
- a href="中的event.prventDefault()#"不会't防止在IE和Fir
- 防止降价处理器转换“>"至“>"在<脚本>标签