Javascript AngularJS使路线不敏感?
我知道在Backbone.js中我可以使用这样的正则表达式Javascript AngularJS使路线不敏感?,javascript,regex,angularjs,Javascript,Regex,Angularjs,我知道在Backbone.js中我可以使用这样的正则表达式 _routeToRegExp: function (route) { route = route.replace(this.escapeRegExp, "\\$&") .replace(this.namedParam, "([^\/]*)") .replace(this.splatParam, "(.*?)"); return new RegExp('^' + rou
_routeToRegExp: function (route) {
route = route.replace(this.escapeRegExp, "\\$&")
.replace(this.namedParam, "([^\/]*)")
.replace(this.splatParam, "(.*?)");
return new RegExp('^' + route + '$', 'i'); // Just add the 'i'
}
若要使路径不受影响,则/product
与/product
与/product
相同
在Angular.js中,我遇到了一个问题,那就是如何在应用程序中实现这一点,而不是使用诸如htaccess重写之类的笼统方法,最明智的方法是什么?谢谢我会用的。它比Angular的内置路由器先进得多,可以让您定义正则表达式。它还允许您定义子视图等。还有一个内置的重定向功能,以便您可以执行类似psuedocode的操作:
$urlRouterProvider.when(anywhere,convertolowercase)对于全局方法,虽然我没有测试过,但它也支持正则表达式。我会使用。它比Angular的内置路由器先进得多,可以让您定义正则表达式。它还允许您定义子视图等。还有一个内置的重定向功能,以便您可以执行类似psuedocode的操作:$urlRouterProvider.when(anywhere,convertolowercase)
对于全局方法,虽然我还没有测试过,但它也支持regex。尝试以下方法:
var testApp = angular.module('testApp', ['ngRoute'])
.config(function ($routeProvider) {
$routeProvider.when('/newEvent',
{
templateUrl: 'templates/NewEvent.html',
controller: 'EditEventController',
caseInsensitiveMatch: true
});
其中caseInsensitiveMatch:true表示/product==/product;
caseInsensitiveMatch:false表示/product/product尝试以下操作:
var testApp = angular.module('testApp', ['ngRoute'])
.config(function ($routeProvider) {
$routeProvider.when('/newEvent',
{
templateUrl: 'templates/NewEvent.html',
controller: 'EditEventController',
caseInsensitiveMatch: true
});
其中caseInsensitiveMatch:true表示/product==/product;
caseInsensitiveMatch:false表示/product/product为什么不在每个正则表达式的开头添加(?i)
?等等,你的正则表达式中没有强制敏感的东西,对吗?@Sin我问的是角度,不是主干。为什么不在每个正则表达式的开头加上(?I)
?等等,你的正则表达式中没有强制敏感的东西,对吗?@Sin我是问角度,而不是主干。取决于你使用的版本取决于你使用的版本