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

使用AngularJS UI路由器不区分大小写

国景铄
2023-03-14
问题内容

我正在基于AngularJS SPA Visual
Studio模板(http://visualstudiogallery.msdn.microsoft.com/5af151b2-9ed2-4809-bfe8-27566bfe7d83)构建一个新的angularJS应用程序

这使用ui-router(https://github.com/angular-ui/ui-
router
)进行路由。

但是,它似乎区分大小写。

知道我将如何指示angular / ui-router忽略url参数的大小写吗?

在应用程序中区分大小写无关紧要,尽管用户应该在特定页面上输入网址以输入应用程序,但我们需要确保aboutaBouT

干杯


问题答案:

通过注释中指向原始问题的链接,我能够获得所需的答案。

在我的$stateProvider.state(......)路线之前,我 现在有这段代码:

$urlRouterProvider.rule(function ($injector, $location) {
       //what this function returns will be set as the $location.url
        var path = $location.path(), normalized = path.toLowerCase();
        if (path != normalized) {
            //instead of returning a new url string, I'll just change the $location.path directly so I don't have to worry about constructing a new url string and so a new state change is not triggered
            $location.replace().path(normalized);
        }
        // because we've returned nothing, no state change occurs
    });

本质上,它将toLowerCase()是一个还不是全部小写的URL。

完成后,它将替换url而不是重定向。然后以匹配状态进行。



 类似资料:
  • 问题内容: 我还没有找到一个简单的答案,这使我相信这确实非常简单。无论哪种方式,我都走了。 $ routeProvider中的所有调用都可以正常工作,但是区分大小写。这是一个代码示例: 我需要添加什么,以便“ / Foo”,“ / fOO”,“ / FoO”等都重定向到同一路径? 问题答案: 您可以传递给$ routeProvider一个选项来区分大小写:

  • 我用的是play framework 1.2.5。如果我使用camelCase作为我的控制器名称,URL看起来也遵循相同的格式。无论如何,我可以保留控制器名称的camelcase,而不需要在结果URL中使用camelCase。我相信我可以尝试类似下面的东西(routes.conf中的regex ),但是我想知道是否有另一种方法: 提前感谢。

  • 对于报告(0.1%的所有查询),我需要返回一个所有可能类别的列表,区分大小写! 考虑以下文件: 运行以下查询: 返回: 是否有方法返回区分大小写的类别(存储在文档中)?我对此查询结果中的感兴趣。 Elasticsearch论坛中的问题 谢谢,伊泰

  • 问题内容: 我无法弄清楚为什么我的搜索区分大小写。我读过的所有内容都说ES默认情况下不敏感。我有一些映射,它们指定用于索引和搜索的标准分析器,但似乎有些东西还是区分大小写的,即通配符: 这失败了,但是“ rae *”可以按需工作。我需要使用通配符来进行“开始于”类型的搜索(我想)。 我正在从.Net应用程序中使用NEST,并在创建索引时指定分析器,因此: 在这种情况下,它使用的是简单分析仪,但标准

  • 问题内容: 我想按不区分名称的名称搜索用户表中的数据。 我收到一个错误: 意外令牌:% 。我应该在哪里放置“%”? 问题答案: 您可以使用concat运算符: 或使用命名参数: (使用Spring Boot 1.4.3测试)