AngularJS路由';s不显示单词之间空格的连字符
我按照预期配置了路由(当然,在app.js文件中)。我是用ui路由器而不是我们的原生“ngRoute”制作的。它们看起来都如下所示:AngularJS路由';s不显示单词之间空格的连字符,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我按照预期配置了路由(当然,在app.js文件中)。我是用ui路由器而不是我们的原生“ngRoute”制作的。它们看起来都如下所示: .state('segment', { url: "/:segmentId", data: { segmentId: "1" }, ncyBreadcrumb: { skip: true }, templateUrl: "resources/views/segment.html",
.state('segment', {
url: "/:segmentId",
data: { segmentId: "1" },
ncyBreadcrumb: { skip: true },
templateUrl: "resources/views/segment.html",
controller: 'SegmentCtrl'
})
如您所见,它有自己的控制器和视图(templateUrl)。以及指定的url。这个“segmentId”是一个使用JSON文件中数据的变量。在该文件中,它使用已确定键的名称来使用其值。此值将是我的URL名称
{
"id": "2",
"name": "This is my url",
},
但问题是:
当单词之间有空格时,应该是这样的:www.example.com/this-is-my-url/
但看起来是这样的:
www.example.com/thisaisamyaur/
我一点也不知道这里发生了什么。我的slagify函数有问题。没有很好地申报
// remove accents, swap ñ for n, etc
var from = "ãà áäâẽèéëêìÃïîõòóöôùúüûñç·/_,:;";
var to = "aaaaaeeeeeiiiiooooouuuunc------";
for (var i=0, l=from.length ; i<l ; i++) {
str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
}
//删除重音符号,将ñ替换为n等
风险值来源于;
var to=“AAAAA EEEEE IIOOOUUNC------”;
对于(var i=0,l=from.length;我能告诉我们它从json文件中获取url并将其作为segmentId
值传入的代码吗?似乎你可以使用name.replace(/\s/g,'-');
将空格替换为破折号
// remove accents, swap ñ for n, etc
var from = "ãàáäâẽèéëêìíïîõòóöôùúüûñç·/_,:;";
var to = "aaaaaeeeeeiiiiooooouuuunc------";
for (var i=0, l=from.length ; i<l ; i++) {
str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
}