angular - 什么是...语法? (在 Angular2 中找到)

标签 angular

我不知道这个语法或符号或任何属于 Angular2 或其他东西的......

但我想知道,

... 语法是什么,它在幕后是如何工作的?

ngOnChanges(...args:any[])
{
   console.log(args);
}

最佳答案

这是TypeScript rest operator .在这种情况下,这意味着任何数量的任何类型的参数都可以出现在那里;该函数会将它们视为 any 的数组。 (从 ES2015 开始,JavaScript 最近也获得了 rest 和 spread 运算符,但是您示例中的 :any[] 告诉我们这是 TypeScript。)

例如:

ngOnChanges('a', 42, null);

...会显示

["a", 42, null]

in the console.

Here's a complete example (live copy):

function foo(...args:any[]) {
    console.log("args.length = " + args.length);
    args.forEach((arg:any, index:Number) => {
        console.log("args[" + index + "]: " + arg);
    });
}
foo('a', 42, null);

输出

args.length = 3
args[0]: a
args[1]: 42
args[2]: null

关于angular - 什么是...语法? (在 Angular2 中找到),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36008250/

相关文章:

angular - 如何将 ngrx-effect 中的 Action 的 action.payload 传播到 catchError 或 map 运算符?

angular - 使用 ng2-dragula 拖动和交换网格列表

html - 在 Angular 应用程序中父级悬停在父级的下一个兄弟后面时显示绝对定位的 div(宽度大于父级)

javascript - Angular 2下拉列表默认值

javascript - Angular 测试文档中 "errorMessage()"功能的内容。 (见说明)

angular - 使用 ng-bootstrap 正确设置 angular 7

javascript - 在 Angular 4 中使用等待时生成器未定义错误

angular - 无法通过 ContentChildren 获取内容

css - Bootstrap css 样式未在 Angular 中应用或覆盖

javascript - Angular 6 : trying loop throw an object (via *ngFor) after choosing a value of a 'select'