Javascript 防止routeparams在链接刚刚打开时更改视图#&引用;
我使用的$routeParams具有以下配置:Javascript 防止routeparams在链接刚刚打开时更改视图#&引用;,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我使用的$routeParams具有以下配置: controllersModule.config(['$routeProvider', function($routeProvider) { $routeProvider. when('/home', { templateUrl: 'views/home.html', controller: 'HomeController' }).
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时,它会计算
然后用返回的
值,除非返回的值是未定义的
,因此页面保持不变且不执行任何操作
对元素不执行任何操作
<a href="javascript:void(0);">
Click here to do nothing
</a>
将#
替换为javascript:void(0)代码>
当浏览器遵循javascript:URI时,它会计算
然后用返回的
值,除非返回的值是未定义的
,因此页面保持不变且不执行任何操作
对元素不执行任何操作
<a href="javascript:void(0);">
Click here to do nothing
</a>
这将解决普通html链接的问题,问题是它们不会与ng href一起工作,因为它们会被angular视为不安全。ng href
仅当您想将$scope
值绑定到URL
时才需要,在这种情况下不需要使用ng href
,这是因为,正如我在问题中所说,一些链接URL来自保存到作用域中的对象。恰巧,对象中的一些URL是“#”,正如我在问题中所说,我已经发现了这一点,您需要使用css规则为没有href属性的链接添加指针光标。所以我希望能在路由中找到一个解决方案,但似乎没有其他选择。感谢这将解决正常html链接的问题,问题是它们不会与ng href一起工作,因为它们会被angular视为不安全。ng href
仅当您想将$scope
值绑定到URL
时才需要,在这种情况下不需要使用ng href
这是因为,正如我在问题中所说,一些链接URL来自保存到作用域中的对象。恰巧,对象中的一些URL是“#”,正如我在问题中所说,我已经发现了这一点,您需要使用css规则为没有href属性的链接添加指针光标。所以我希望能在路由中找到一个解决方案,但似乎没有其他选择。谢谢