Angular中如何用'as FormArray'语法替代<>类型断言解决Lint报错
解决TypeScript Lint的类型断言语法问题
你只需要把旧的尖括号类型断言换成as语法,并且确保断言作用在this.formQuestions.get('opts')这个表达式上即可,修复后的代码如下:
getFormFControls() { const optsControl = this.formQuestions.get('opts'); return optsControl ? (optsControl as FormArray).controls : null; }
如果不想拆分变量,也可以直接内联写:
getFormFControls() { return this.formQuestions.get('opts') ? (this.formQuestions.get('opts') as FormArray).controls : null; }
之前尝试出错是因为你可能把as FormArray加在了整个.controls链式调用的末尾,而正确的做法是先对获取到的控件做类型断言,再访问它的controls属性。这样既符合Lint的语法要求,也能正确拿到FormArray的controls数组。
内容的提问来源于stack exchange,提问作者Michel Figueira
相关产品推荐
相关产品推荐

