Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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
“什么是……”&引用;在Angular2?它的目的是什么?_Angular_Typescript - Fatal编程技术网

“什么是……”&引用;在Angular2?它的目的是什么?

“什么是……”&引用;在Angular2?它的目的是什么?,angular,typescript,Angular,Typescript,什么是角形的?它叫什么? 我在想,“…flash”在addFlash方法中的用途是什么,它是数组中的一个参数。push() 在toggleFlash方法中,如果我们可以使用这个关键字,为什么会有“…”呢 flashs: IFlash[] = []; flashs$ = new BehaviorSubject<IFlash[]>(this.flashs); addFlash(flash: IFlash) { this.flashs.push({ ...fla

什么是角形的?它叫什么? 我在想,“…flash”在addFlash方法中的用途是什么,它是数组中的一个参数。push()

在toggleFlash方法中,如果我们可以使用这个关键字,为什么会有“…”呢

flashs: IFlash[] = [];

flashs$ = new BehaviorSubject<IFlash[]>(this.flashs);

addFlash(flash: IFlash) {
    this.flashs.push({
        ...flash,
        show: false,
        id: getRandomNumber()
    });
}

toggleFlash(id: number) {
    const index = this.flashs.findIndex(flash => flash.id === id);
    this.flashs = [
        ...this.flashs.slice(0, index),
        {
            ...this.flashs[index],
            show: !this.flashs[index].show
        },
        ...this.flashs.slice(index + 1)
    ];
    this.flashs$.next(this.flashs);
}
flash:IFlash[]=[];
flashs$=新行为主体(this.flashs);
addFlash(flash:IFlash){
这个。闪动。推({
闪光
秀:假,,
id:getRandomNumber()
});
}
toggleFlash(id:编号){
const index=this.flash.findIndex(flash=>flash.id==id);
此.flash=[
…此.flash.slice(0,索引),
{
…此.flash[索引],
show:!this.flash[index].show
},
…此.flash.slice(索引+1)
];
this.flash$.next(this.flash);
}
..
在您的代码中
…this.flash
会将
this.flash
项添加到您使用它的数组中,而
{…this.flash[index]
会将给定索引处的对象属性添加到您使用它的对象中。请阅读下面代码中的注释以获得进一步解释

 this.flashs = [
        ...this.flashs.slice(0, index),//slice flashs array and add result items here like obj1,obj2....
        {
            ...this.flashs[index],//get object at given index and add that object properties here like prop1:val,prop2:val,...
            show: !this.flashs[index].show
        },
        ...this.flashs.slice(index + 1)
    ];

这是ES6的一个特性,扩展语法,不是Angular的一部分。@TonyNgo我认为不是。因为我的问题听起来我真的不知道它是什么,它叫什么。