当前位置: 首页 > 面试题库 >

Angular JS-检查当前网址是否与路由匹配(带有动态网址参数)

姬寂离
2023-03-14
问题内容

我只是在设置这个:

app.config(['$routeProvider',function($routeProvider) {
  $routeProvider
  .when('/asd/:id/:slug',{
    templateUrl:'views/home/index.html',
    controller:'Home',
    publicAccess:true,
    sessionAccess:true
  });

:id和:slug是动态参数。

现在我想去check if current url matches那条路线(/asd/:id/:slug

例如url: asd/5/it-is-a-slug

哪个是最简单的方法?

我尝试了这个:

$rootScope.$on('$routeChangeStart', function(){ 
   console.log($route.current); 
});

但有时在切换页面路由时它在控制台中不返回任何内容


问题答案:

当前路由允许您使用正则表达式。注入$route服务并探索当前路线对象。即regexp部分:

$route.current.regexp

这是使用它的方式(例如,通过控制器方法检查是否应激活当前菜单项(具有动态部分)):

$scope.isActive = function (path) {
    if ($route.current && $route.current.regexp) {
        return $route.current.regexp.test(path);
    }
    return false;
};


 类似资料:
  • 问题内容: 我有以下状态: 当我点击URL时,?customer查询字符串被剥离,而我处于状态。 对我而言,最有意义的只是在状态定义中添加a ,但这使我犯了一个错误,抱怨我同时指定了url和params。 我尝试做的任何例子将不胜感激。 问题答案: 您应该修改字符串属性以包括查询参数,如下所示: 可以使用:分隔多个参数,以添加多个参数: 查看文档

  • 问题内容: 我正在使用码头9.0.3。 如何将URL(例如www.myweb.com/{servlet}/{parameter})映射到给定的servlet和参数? 例如,URL’/ client / 12312’将路由到clientServlet,其方法将接收12312作为参数。 问题答案: 您将有两个部分需要担心。 您的pathSpec Servlet中的HttpServletRequest.

  • 一、URL路由网址说明 引导文件为:index.php,若web服务器软件为Apache时,.htaccess文件也算作引导文件。DoitPHP框架由引导文件来处理客户提交的网址。如: http://www.example.com/index.php/post/show。DoitPHP框架支持两种模式的网址访问,一种为路由模式,默认为路由模式;另一种为标准模式(普通传统模式),标准模式的网址对we

  • 问题内容: 我想知道这两种URL之间的区别:相对URL(用于图片,CSS文件,JS文件等)和绝对URL。 另外,哪个更好用? 问题答案: 通常,使用相对URL被认为是最佳实践,这样您的网站就不会绑定到当前部署位置的基本URL。例如,它无需修改即可在localhost以及您的公共域上工作。

  • 问题内容: 我有以下情况: 这些检查都没有成功。只有路径不同:u1的路径为“ /”,而u2的路径为“”。这些URL是否指向相同的资源,是否可以在不打开连接的情况下检查这种情况?我是否误解了有关URL的一些基本知识? 编辑 我应该指出,需要非黑客检查。说空路径== /是否合理?我希望没有这种代码 问题答案: 从2007 JavaOne中: 第二个难题的标题是“集的更多乐趣”,它使用户可以创建由多个U

  • 返回包含当前URL参数的对象。 通过适当的正则表达式,使用 String.match() 来获得所有的键值对, Array.reduce() 来映射和组合成一个单一的对象。 将 location.search 作为参数传递给当前 url。 const getURLParameters = url => url .match(/([^?=&]+)(=([^&]*))/g) .re