计算Angular JS路径路径

时间:2015-02-18 15:02:28

标签: javascript angularjs angular-routing

我正在使用AngularJS 1.2。使用参数构建路径路径的正确方法是什么?字符串连接似乎是唯一的方法,但它似乎不正确。

假设我有这条路线

$routeProvider.when('/my-route/:param1/:param2', ...);

我可以像这样手动建立这条路线:

$location.path('/my-route/' + param1 + '/' + param2);

我希望我能做到这样的事情:

$route.goTo('/my-route/:param1/:param2', {
   param1: param1,
   param2: param2
});

我不允许更改使用 ui-router

1 个答案:

答案 0 :(得分:-1)

我找到了一些可能有帮助的东西,发现Here。我已经使用了几次,到目前为止看起来效果还不错。

这要做的就是添加"格式"函数到字符串原型(如果它还没有),并允许您以与.NET" String.Format()"相同的方式调用它。调用

CODE:

if (!String.prototype.format) {
  String.prototype.format = function() {
    var args = arguments;
    return this.replace(/{(\d+)}/g, function(match, number) { 
      return typeof args[number] != 'undefined'
        ? args[number]
        : match
      ;
    });
  };
}

用法:

$location.path(('/my-route/{0}/{1}').format(param1, param2);
//Assuming that param1 and param2 are defined and valid data types

理论上,您可以使用此函数并将其作为String对象的函数,并使用参数调用它。