AngularJS路由';s不显示单词之间空格的连字符

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",

我按照预期配置了路由(当然,在app.js文件中)。我是用ui路由器而不是我们的原生“ngRoute”制作的。它们看起来都如下所示:

    .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));
            }