Javascript Angular paramMap.getAll-澄清?
Angular 4通过Javascript Angular paramMap.getAll-澄清?,javascript,angular,Javascript,Angular,Angular 4通过get和getAll方法增加了对paramMap的支持: 我可以理解这段代码,它生成“id”值 route.paramMap.subscribe( params => this.productID = params.get('id') ); 但是我不明白getAll(?)的用法: getAll(名称:string):string[]返回给定对象的值数组 参数名 我看到了一个例子,说明: params:string[] = this.route.s
get
和getAll
方法增加了对paramMap
的支持:
我可以理解这段代码,它生成“id”
值
route.paramMap.subscribe(
params => this.productID = params.get('id')
);
但是我不明白getAll(?)的用法:
getAll(名称:string):string[]
返回给定对象的值数组
参数名
我看到了一个例子,说明:
params:string[] = this.route.snapshot.paramMap.getAll();
此接口提供了get()等方法来获取特定值和
getAll()以获取所有值
我能理解“获取所有值”部分。但是我不理解“按名称获取所有值”——即getAll(NAME:string)
问题:
何时使用getAll(param)
方法?我的意思是我将/应该只有唯一的参数名。那么为什么getAll(“id”)
可以产生多个值呢
请举个例子。给出如下导航:
导航(['example',{foo:['bar',baz']}]);
getAll()将返回所有值。像这样使用它:
getAll(“foo”)
您可以使用数组作为参数,因此如果您这样导航
this.router.navigate(['example', { foo: ['bar', 'baz'] } ]);
您可以通过以下方式使用getAll()
函数:
getAll("foo")
它将返回所有参数值:
['bar',baz']
在他提供的示例中,foo可能意味着是'foo'。它支持数组,您的路由可以这样定义:示例/:foo其中foo可以是一切,包括一个数组从我的测试中,我甚至不能声明参数,仍然可以得到它的值: