我正在使用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
。
答案 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对象的函数,并使用参数调用它。