Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular paramMap.getAll-澄清?_Javascript_Angular - Fatal编程技术网

Javascript Angular paramMap.getAll-澄清?

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

Angular 4通过
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可以是一切,包括一个数组从我的测试中,我甚至不能声明参数,仍然可以得到它的值: