Javascript 当用户在angular js中确认时,如何移动到下一个路由
我使用jquery插件实现了一个自定义确认框警报。我的要求是,当用户确认他的选项时(即他单击确认框中的“是”按钮),他应该前往他选择的路线。如果他单击“否”,那么他应该保持在同一页上Javascript 当用户在angular js中确认时,如何移动到下一个路由,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我使用jquery插件实现了一个自定义确认框警报。我的要求是,当用户确认他的选项时(即他单击确认框中的“是”按钮),他应该前往他选择的路线。如果他单击“否”,那么他应该保持在同一页上 /*location change logic*/ $scope.$on('$locationChangeStart', function (event, nextUrl) { if (checkAllInputFields()) { event.preventDefault();
/*location change logic*/
$scope.$on('$locationChangeStart', function (event, nextUrl) {
if (checkAllInputFields()) {
event.preventDefault();
bootbox.confirm("Are you sure?", function(result) {
if (result) {
console.log("User confirmed dialog");
$location.path(newUrl); //this does not work
//i get the console but the user does not go to the selected route
} else {
console.log("User declined dialog");
}
});
}
});
由于某些原因,即使用户单击确认框中的确定按钮,也不会将其重定向到所选的路线
是否有人可以帮助解决此问题?尝试使用
$location
模块。
将模块插入控制器并确认设置$location.path(此处为您的路径)
查看AngularJS文档以了解更多信息:是否正在查找
$location.path('/newValue')
?由于某些原因非常简单,您阻止了默认设置。什么是checkAllInputFields
?似乎不是范围项。创建一个演示。我补充说,但它仍然不起作用。检查我的更新code@charlietfl:如果我不阻止默认设置,那么它将导航到新页面并在那里显示警报…这没有意义。警报应该出现在表单存在的同一页面上,但您现在需要解析新url并设置路径,但是如果不更改变量checkAllInputFields
Hi,您也将有一个无限循环。我尝试在if语句中使用$location模块,但它仍然没有指向路径。我想您尝试将路径设置为未映射到路由中的位置。当我尝试警告变量newUrl时,它会给我整个URL但是路径是#后面的部分,那么我需要解析它吗?