我在Angular中看到了一段代码,但我听不懂。
remove_stock({group, index}: {group: FormGroup, index: number}) {
const control = this.form.get('stock') as FormArray;
control.removeAt(index);
}
我知道有一种方法称为remove_stock,由于它使用括号,因此需要一个参数。
但是我不确定这个论点。 我在打字稿中知道,用大括号括起来的任何东西都是对象,而在冒号之前的任何东西都是该类型的名称。
但是我不明白的是这个
{group, index}: {group: FormGroup, index: number}
有人可以解释吗
我从Ultimate Angular的屏幕截图中获取了此信息,但我感到很困惑。 这是该图片的链接
https://i.vimeocdn.com/video/680140010.webp?mw=1500&mh=844&q=70
谢谢
答案 0 :(得分:2)
首先,此语法与打字稿无关,它是es6语法。
称为解构分配,请看此链接Destructuring assignment
看一下这段代码:
const user = {
id: '1',
name: 'user'
};
const {id, name} = user;
这些代码行与此相同
const user = {
id: '1',
name: 'user'
};
const id = user.id;
const name = user.name;
上面的函数就是这样
remove_stock(input: {group: FormGroup, index: number}) {
const index = input.index;
const group = input.group;
const control = this.form.get('stock') as FormArray;
control.removeAt(index);
}
答案 1 :(得分:1)
这是一个从数组中删除元素的函数 根据我在此链接https://www.cnblogs.com/Answer1215/p/6592580.html中找到的示例 表单组是通过数组创建的
removeStock ({group, index}: {group: FormGroup, index: number}) {
const control = this.form.get ('stock') as FormArray;
control.removeAt (index);
}
传递了两个参数,分别是类和标识符
{group, index}
此处表示参数的数据类型
{group: FormGroup, index: number}
声明一个常量,其中包含所有元素 const control = this.form.get('stock')as FormArray;
它删除由索引标识的元素
control.removeAt (index);
XD这就是我所说的西班牙语,所以请原谅我在Google XD上所做的写作