Angular2依赖注入:什么';这是“什么?”&引用;我在一些注入包';s名称(即提供者=[…某些提供者]&)
我刚刚开始学习Angular2,通常情况下,注射提供者看起来像:Angular2依赖注入:什么';这是“什么?”&引用;我在一些注入包';s名称(即提供者=[…某些提供者]&),angular,dependency-injection,angular2-providers,Angular,Dependency Injection,Angular2 Providers,我刚刚开始学习Angular2,通常情况下,注射提供者看起来像: providers : [SomeProvider], 但是,我看到一些包在注入的提供者名称之前包含一个“…”,如: providers : [...SomeProvider], 为什么要这样做?什么是…,它在做什么?这是扩展运算符。扩展语法允许在需要多个参数(用于函数调用)或多个元素(用于数组文字)或多个变量(用于解构赋值)的位置展开表达式 你可能在想我们为什么需要这个 更好的应用程序 示例:在希望使用数组作为函数参数的情况
providers : [SomeProvider],
但是,我看到一些包在注入的提供者名称之前包含一个“…”,如:
providers : [...SomeProvider],
为什么要这样做?什么是
…
,它在做什么?这是扩展运算符。扩展语法允许在需要多个参数(用于函数调用)或多个元素(用于数组文字)或多个变量(用于解构赋值)的位置展开表达式
你可能在想我们为什么需要这个
更好的应用程序
示例:在希望使用数组作为函数参数的情况下,通常使用Function.prototype.apply
使用ES6 spread,您现在可以将上述内容写成:
function myFunction(x, y, z) { }
var args = [0, 1, 2];
myFunction(...args);
参数列表中的任何参数都可以使用扩展语法,并且可以多次使用
function myFunction(v, w, x, y, z) { }
var args = [0, 1];
myFunction(-1, ...args, 2, ...[3]);
更多信息和示例可在此处找到:
检查以下内容:
function myFunction(v, w, x, y, z) { }
var args = [0, 1];
myFunction(-1, ...args, 2, ...[3]);