Vscode-ng-language-service: むンデックス付きタむプをサポヌト

䜜成日 2017幎07月07日  Â·  32コメント  Â·  ゜ヌス: angular/vscode-ng-language-service

リアクティブフォヌムを䜿甚するず、HTMLテンプレヌトでタむトルに゚ラヌが衚瀺されたす。


有効な名前を入力しおください。


「formRegister.controls.company.invalid && formRegister.controls.company.touched」は䞡方ずも゚ラヌずしお䞋線が匕かれおいたすが、アプリは正垞に動䜜したす。

最も参考になるコメント

リアクティブフォヌムでもこの問題が発生しおいたす。

䞀時的な回避策は、ブラケットプロパティアクセサヌ匏を䜿甚しおプロパティにアクセスするこずです。

formRegister.controls['company'].invalid

党おのコメント32件

@ virgil-avこの問題を再珟するリポゞトリを䜜成できたすか

共甚䜓タむプでも同じ問題がありたす。 お気に入り

パブリックアワヌTimeSpan | ストリング;

゚ラヌ
識別子「hhMM」が定矩されおいたせん。 ''そのようなメンバヌは含たれおいたせん

hhMMはTimeSpanの有効なメンバヌですが、Hourはanyのように扱われおいるようです;

@wupazあなたの䟋は、文字列がメンバヌずしおhhMMを持たず、共甚䜓タむプには構成タむプが共通に持぀メンバヌしかないため、予想されたす。

TypeScriptは同様の゚ラヌを報告し

リアクティブフォヌムでもこの問題が発生しおいたす。

䞀時的な回避策は、ブラケットプロパティアクセサヌ匏を䜿甚しおプロパティにアクセスするこずです。

formRegister.controls['company'].invalid

たた、これを実際に取埗したす。 これはTSでも問題だったず思いたすが、今はうたくいっおいるようです。 少なくずもTS2.4.0ずAngular4.3.0では

FormGroup.controlsプロパティのタむプ定矩は次のずおりです https 

(property) FormGroup.controls: {
    [key: string]: AbstractControl;
}

これらは䞡方ずも私にずっおTSで機胜したすが、ドット衚蚘は蚀語サヌビス内で文句を蚀いたす。

form.controls['birthday']
form.controls.birthday

@intellixここも同じ

v2.5.2同じです。

私は友人が蚀ったようにtscv2.5.2で同じ問題を抱えおいたす

この問題を再珟するリポゞトリを䜜成できたすか

@chuckjaz私はもっ​​ず良いものを䜜るこずができたすリポゞトリはありたせん。

テストしたずころ、この問題は゜ヌスコヌドやnpmパッケヌゞずはたったく関係がないこずがわかりたした。 私はこの問題を抱え始め、次に別のナヌザヌずしおログむンをテストし、たったく同じディレクトリでVisual Studio Codeを起動したしたが、その゚ディタヌで゚ラヌは発生したせんでした。

error_screenshot

これは、゚ラヌが゚ディタヌにのみ衚瀺され、コンパむラヌがビルド時に文句を蚀わないこずずも䞀臎しおいたす。

したがっお、明らかにナヌザヌごずの違いです。 次に、configディレクトリの削陀をテストしたずころ、問題は解決したした。 叀いディレクトリを再び移動するず、問題が再発したす。

$ mv  ~/.config/{,old.}Code
$ code .
$ mv  ~/.config/{,new.}Code
$ mv  ~/.config/{old.,}Code
$ code .

そのため、これをトリガヌするconfigディレクトリにいく぀かのがらくたが入りたしたいく぀かのキャッシュが私の掚枬です。 ゚ディタの起動盎埌にname.valid validの䞊にマりスを眮くず、「読み蟌み䞭...」のツヌルチップが数秒間衚瀺されおから消え、゚ラヌが発生したす。 2回目以降は、ホバヌするずすぐに゚ラヌが衚瀺されたす。

私はナヌザヌの違いを远跡したした、そしおそれはvscode拡匵機胜Angular.ng-templateバヌゞョン0.1.7の分割払いです。 そしお、この問題を再珟するリポゞトリも提䟛できるようになりたした。

  1. クロヌンhttps://github.com/colinskow/angular-electron-dream-starter
  2. 添付のパッチを適甚したす。
  3. src / app /hero-form.component.htmlを開きたす。
  4. aAngular.ng-templateがむンストヌルされおいるず、 name.validず他の4぀の識別子に赀い䞋線が付きたすおよび[Angular] Identifier 'valid' is not defined. 'NgModel' does not contain such a memberツヌルチップ゚ラヌ。
    bAngular.ng-templateがむンストヌルされおいないか無効になっおいる堎合、゚ラヌは発生したせん。

パッチはv7.0.0に関連しおいたすが、src / app /app.moduleを含む最初のコミットである2016-08-21のcommitbd5ad5f0Feature / ng2 rc5875に察しおもテストしたした。 .tsであり、そこでも゚ラヌが発生したため、これはそのリポゞトリのすべおのバヌゞョンで問題になるず思いたす。

angle-electron-dream-starterはhttps://github.com/AngularClass/angular-starterのフォヌクであるため、そのリポゞトリでもパッチをテストしたしたが、問題は発生したせんが、ツヌルチップに有効な情報が含たれおいたす

no error

もずもずvscodeバヌゞョン1.17.2commit b813d129でテストされたした。 バヌゞョン1.8.0commit dcee22027に曎新した埌、結果は同じです。


Githubのたったくばかげた添付ファむル凊理のため、パッチはここでbase64゚ンコヌドされおいたす。

RnJvbSAyYzgxMTJmYzJhM2I2M2FkZjVmZjA0MDQ3NTcyNjAyMjc2ZWMwYmZiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E / SD1DMz1BNWtvbj0yMEw9QzM9Qjh2ZGFsPz0g
PGtvZGVAZGVua3VsZS5ubz4KRGF0ZTogRnJpLCAxNyBOb3YgMjAxNyAyMDozMDoyMCArMDEwMApT
dWJqZWN0OiBbUEFUQ0hdIEltcG9ydCBvZiBleGFtcGxlIGZyb20gaHR0cHM6Ly9hbmd1bGFyLmlv
L2d1aWRlL2Zvcm1zCgotLS0KIHNyYy9hcHAvYXBwLmNvbXBvbmVudC5odG1sICAgICAgIHwgNDAg
KysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvYXBwL2FwcC5tb2R1bGUudHMgICAgICAg
ICAgICB8ICA1ICsrKy0KIHNyYy9hcHAvaGVyby1mb3JtLmNvbXBvbmVudC5odG1sIHwgNTggKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjL2FwcC9oZXJvLWZvcm0u
Y29tcG9uZW50LnRzICAgfCAyMSArKysrKysrKysrKysrKysKIHNyYy9hcHAvaGVyby50cyAgICAg
ICAgICAgICAgICAgIHwgIDkgKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAxMzIgaW5zZXJ0aW9u
cygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9hcHAvYXBwLmNvbXBv
bmVudC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2FwcC9oZXJvLWZvcm0uY29tcG9uZW50
Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvYXBwL2hlcm8tZm9ybS5jb21wb25lbnQudHMK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvYXBwL2hlcm8udHMKCmRpZmYgLS1naXQgYS9zcmMvYXBw
L2FwcC5jb21wb25lbnQuaHRtbCBiL3NyYy9hcHAvYXBwLmNvbXBvbmVudC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4YWE1N2EKLS0tIC9kZXYvbnVsbAorKysgYi9z
cmMvYXBwL2FwcC5jb21wb25lbnQuaHRtbApAQCAtMCwwICsxLDQwIEBACis8bmF2PgorCTxhIFty
b3V0ZXJMaW5rXT0iIFsnLi8nXSAiCisJCXJvdXRlckxpbmtBY3RpdmU9ImFjdGl2ZSIgW3JvdXRl
ckxpbmtBY3RpdmVPcHRpb25zXT0gIntleGFjdDogdHJ1ZX0iPgorCQlJbmRleAorCTwvYT4KKwk8
YSBbcm91dGVyTGlua109IiBbJy4vaG9tZSddICIKKwkJcm91dGVyTGlua0FjdGl2ZT0iYWN0aXZl
IiBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPSAie2V4YWN0OiB0cnVlfSI + CisJCUhvbWUKKwk8
L2E + CisJPGEgW3JvdXRlckxpbmtdPSIgWycuL2RldGFpbCddICIKKwkJcm91dGVyTGlua0FjdGl2
ZT0iYWN0aXZlIiBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPSAie2V4YWN0OiB0cnVlfSI + CisJ
CURldGFpbAorCTwvYT4KKwk8YSBbcm91dGVyTGlua109IiBbJy4vYmFycmVsJ10gIgorCQlyb3V0
ZXJMaW5rQWN0aXZlPSJhY3RpdmUiIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109ICJ7ZXhhY3Q6
IHRydWV9Ij4KKwkJQmFycmVsCisJPC9hPgorCTxhIFtyb3V0ZXJMaW5rXT0iIFsnLi9hYm91dCdd
ICIKKwkJcm91dGVyTGlua0FjdGl2ZT0iYWN0aXZlIiBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNd
PSAie2V4YWN0OiB0cnVlfSI + CisJCUFib3V0CisJPC9hPgorPC9uYXY + CisKKzxtYWluPgorCTxh
cHAtaGVyby1mb3JtPjwvYXBwLWhlcm8tZm9ybT4KKwk8cm91dGVyLW91dGxldD48L3JvdXRlci1v
dXRsZXQ + Cis8L21haW4 + CisKKzxwcmUgY2xhc3M9ImFwcC1zdGF0ZSI + dGhpcy5zdGF0ZSQgPSB7
eyBzdGF0ZSQgfCBhc3luYyB8IGpzb24gfX08L3ByZT4KKworPGZvb3Rlcj4KKwk8c3Bhbj4KKwkJ
QW5ndWxhciBFbGVjdHJvbiBEcmVhbSBTdGFydGVyIGJ5IDxhIChjbGljayk9Im9wZW5VUkwodXJs
KSIgaHJlZj0iIyI + QENvbGluU2tvdzwvYT4KKwk8L3NwYW4 + CisJPGRpdj4KKwkJPGEgW2hyZWZd
PSJ1cmwiPgorCQkJPGltZyBbc3JjXT0iYW5ndWxhcmNsYXNzTG9nbyIgd2lkdGg9IjI1JSI + CisJ
CTwvYT4KKwk8L2Rpdj4KKzwvZm9vdGVyPgpkaWZmIC0tZ2l0IGEvc3JjL2FwcC9hcHAubW9kdWxl
LnRzIGIvc3JjL2FwcC9hcHAubW9kdWxlLnRzCmluZGV4IGZlYzI0NTcuLjFjNjEyZWIgMTAwNjQ0
Ci0tLSBhL3NyYy9hcHAvYXBwLm1vZHVsZS50cworKysgYi9zcmMvYXBwL2FwcC5tb2R1bGUudHMK
QEAgLTc3LDYgKzc3LDggQEAgaWYgKEVOViA9PT0gJ2RldmVsb3BtZW50JykgewogICBDT05ESVRJ
T05BTF9JTVBPUlRTLnB1c2goU3RvcmVNb2R1bGUuZm9yUm9vdChyZWR1Y2VycywgeyBtZXRhUmVk
dWNlcnMgfSkpOwogfQogCitpbXBvcnQgeyBIZXJvRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vaGVy
by1mb3JtLmNvbXBvbmVudCc7CisKIC8qKgogICogYEFwcE1vZHVsZWAgaXMgdGhlIG1haW4gZW50
cnkgcG9pbnQgaW50byBBbmd1bGFyMidzIGJvb3RzdHJhcGluZyBwcm9jZXNzCiAgKi8KQEAgLTg3
LDcgKzg5LDggQEAgaWYgKEVOViA9PT0gJ2RldmVsb3BtZW50JykgewogICAgIEFib3V0Q29tcG9u
ZW50LAogICAgIEhvbWVDb21wb25lbnQsCiAgICAgTm9Db250ZW50Q29tcG9uZW50LAotICAgIFhM
YXJnZURpcmVjdGl2ZQorICAgIFhMYXJnZURpcmVjdGl2ZSwKKyAgICBIZXJvRm9ybUNvbXBvbmVu
dCwKICAgXSwKICAgaW1wb3J0czogWyAvLyBpbXBvcnQgQW5ndWxhcidzIG1vZHVsZXMKICAgICBC
cm93c2VyTW9kdWxlLApkaWZmIC0tZ2l0IGEvc3JjL2FwcC9oZXJvLWZvcm0uY29tcG9uZW50Lmh0
bWwgYi9zcmMvYXBwL2hlcm8tZm9ybS5jb21wb25lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4wZmM2YjgxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2FwcC9oZXJv
LWZvcm0uY29tcG9uZW50Lmh0bWwKQEAgLTAsMCArMSw1OCBAQAorICAgIDxkaXYgY2xhc3M9ImNv
bnRhaW5lciI + CisgICAgICA8ZGl2IFtoaWRkZW5dPSJzdWJtaXR0ZWQiPgorICAgICAgICA8aDE +
SGVybyBGb3JtPC9oMT4KKyAgICAgICAgPGZvcm0gKG5nU3VibWl0KT0ib25TdWJtaXQoKSIgI2hl
cm9Gb3JtPSJuZ0Zvcm0iPgorICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgorICAg
ICAgICAgICAgPGxhYmVsIGZvcj0ibmFtZSI + TmFtZTwvbGFiZWw + CisgICAgICAgICAgICA8aW5w
dXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9Im5hbWUiCisgICAgICAgICAg
ICAgICAgICAgcmVxdWlyZWQKKyAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT0ibW9kZWwu
bmFtZSIgbmFtZT0ibmFtZSIKKyAgICAgICAgICAgICAgICAgICAjbmFtZT0ibmdNb2RlbCI + Cisg
ICAgICAgICAgICA8ZGl2IFtoaWRkZW5dPSJuYW1lLnZhbGlkIHx8IG5hbWUucHJpc3RpbmUiCisg
ICAgICAgICAgICAgICAgIGNsYXNzPSJhbGVydCBhbGVydC1kYW5nZXIiPgorICAgICAgICAgICAg
ICBOYW1lIGlzIHJlcXVpcmVkCisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICA8L2Rpdj4K
KyAgICAgCisgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI + CisgICAgICAgICAgICA8
bGFiZWwgZm9yPSJhbHRlckVnbyI + QWx0ZXIgRWdvPC9sYWJlbD4KKyAgICAgICAgICAgIDxpbnB1
dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0iYWx0ZXJFZ28iCisgICAgICAg
ICAgICAgICAgICAgWyhuZ01vZGVsKV09Im1vZGVsLmFsdGVyRWdvIiBuYW1lPSJhbHRlckVnbyI +
CisgICAgICAgICAgPC9kaXY + CisgICAgIAorICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3Jv
dXAiPgorICAgICAgICAgICAgPGxhYmVsIGZvcj0icG93ZXIiPkhlcm8gUG93ZXI8L2xhYmVsPgor
ICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0icG93ZXIiCisgICAg
ICAgICAgICAgICAgICAgIHJlcXVpcmVkCisgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCld
PSJtb2RlbC5wb3dlciIgbmFtZT0icG93ZXIiCisgICAgICAgICAgICAgICAgICAgICNwb3dlcj0i
bmdNb2RlbCI + CisgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPSJsZXQgcG93IG9mIHBvd2Vy
cyIgW3ZhbHVlXT0icG93Ij57e3Bvd319PC9vcHRpb24 + CisgICAgICAgICAgICA8L3NlbGVjdD4K
KyAgICAgICAgICAgIDxkaXYgW2hpZGRlbl09InBvd2VyLnZhbGlkIHx8IHBvd2VyLnByaXN0aW5l
IiBjbGFzcz0iYWxlcnQgYWxlcnQtZGFuZ2VyIj4KKyAgICAgICAgICAgICAgUG93ZXIgaXMgcmVx
dWlyZWQKKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgIDwvZGl2PgorICAgICAKKyAgICAg
ICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biBidG4tc3VjY2VzcyIgW2Rpc2Fi
bGVkXT0iIWhlcm9Gb3JtLmZvcm0udmFsaWQiPlN1Ym1pdDwvYnV0dG9uPgorICAgICAgICAgIDxi
dXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiAoY2xpY2spPSJuZXdI
ZXJvKCk7IGhlcm9Gb3JtLnJlc2V0KCkiPk5ldyBIZXJvPC9idXR0b24 + CisgICAgICAgIDwvZm9y
bT4KKyAgICAgIDwvZGl2PgorICAgICAKKyAgICAgIDxkaXYgW2hpZGRlbl09IiFzdWJtaXR0ZWQi
PgorICAgICAgICA8aDI + WW91IHN1Ym1pdHRlZCB0aGUgZm9sbG93aW5nOjwvaDI + CisgICAgICAg
IDxkaXYgY2xhc3M9InJvdyI + CisgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTMiPk5hbWU8
L2Rpdj4KKyAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtOSAgcHVsbC1sZWZ0Ij57eyBtb2Rl
bC5uYW1lIH19PC9kaXY + CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyb3ci
PgorICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy0zIj5BbHRlciBFZ288L2Rpdj4KKyAgICAg
ICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtOSBwdWxsLWxlZnQiPnt7IG1vZGVsLmFsdGVyRWdvIH19
PC9kaXY + CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgorICAgICAg
ICAgIDxkaXYgY2xhc3M9ImNvbC14cy0zIj5Qb3dlcjwvZGl2PgorICAgICAgICAgIDxkaXYgY2xh
c3M9ImNvbC14cy05IHB1bGwtbGVmdCI + e3sgbW9kZWwucG93ZXIgfX08L2Rpdj4KKyAgICAgICAg
PC9kaXY + CisgICAgICAgIDxicj4KKyAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmlt
YXJ5IiAoY2xpY2spPSJzdWJtaXR0ZWQ9ZmFsc2UiPkVkaXQ8L2J1dHRvbj4KKyAgICAgIDwvZGl2
PgorICAgIDwvZGl2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Ny
Yy9hcHAvaGVyby1mb3JtLmNvbXBvbmVudC50cyBiL3NyYy9hcHAvaGVyby1mb3JtLmNvbXBvbmVu
dC50cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MjY1ZmI5Ci0tLSAvZGV2
L251bGwKKysrIGIvc3JjL2FwcC9oZXJvLWZvcm0uY29tcG9uZW50LnRzCkBAIC0wLDAgKzEsMjEg
QEAKK2ltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnOworCitpbXBvcnQg
eyBIZXJvIH0gZnJvbSAnLi9oZXJvJzsKKworQENvbXBvbmVudCh7CisJc2VsZWN0b3I6ICdhcHAt
aGVyby1mb3JtJywKKwl0ZW1wbGF0ZVVybDogJy4vaGVyby1mb3JtLmNvbXBvbmVudC5odG1sJwor
fSkKK2V4cG9ydCBjbGFzcyBIZXJvRm9ybUNvbXBvbmVudCB7CisKKwlwdWJsaWMgcG93ZXJzID0g
WydSZWFsbHkgU21hcnQnLCAnU3VwZXIgRmxleGlibGUnLCAnU3VwZXIgSG90JywgJ1dlYXRoZXIg
Q2hhbmdlciddOworCXB1YmxpYyBtb2RlbCA9IG5ldyBIZXJvKDE4LCAnRHIgSVEnLCB0aGlzLnBv
d2Vyc1swXSwgJ0NodWNrIE92ZXJzdHJlZXQnKTsKKworCXB1YmxpYyBzdWJtaXR0ZWQgPSBmYWxz
ZTsKKworCXB1YmxpYyBvblN1Ym1pdCgpIHsgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlOyB9CisKKwlw
dWJsaWMgbmV3SGVybygpIHsKKwkJdGhpcy5tb2RlbCA9IG5ldyBIZXJvKDQyLCAnJywgJycpOwor
CX0KK30KZGlmZiAtLWdpdCBhL3NyYy9hcHAvaGVyby50cyBiL3NyYy9hcHAvaGVyby50cwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzQ5YzkyCi0tLSAvZGV2L251bGwKKysr
IGIvc3JjL2FwcC9oZXJvLnRzCkBAIC0wLDAgKzEsOSBAQAorZXhwb3J0IGNsYXNzIEhlcm8gewor
CWNvbnN0cnVjdG9yKAorCQlwdWJsaWMgaWQ6IG51bWJlciwKKwkJcHVibGljIG5hbWU6IHN0cmlu
ZywKKwkJcHVibGljIHBvd2VyOiBzdHJpbmcsCisJCXB1YmxpYyBhbHRlckVnbz86IHN0cmluZwor
CSkgeworCX0KK30KLS0gCjIuMTMuNgoK

私は同様の問題に盎面しおいたす。 プラグむンは、クラスで盎接宣蚀された倉数のみを認識し、formGroupたたはformBuilderの䞋にネストされた倉数は認識しないようです。
このコンポヌネントコヌドは、2぀のFromControlフィヌルドに察しおHTMLで゚ラヌSquiggliesを提䟛したす-

export class MyDetailComponent implements OnInit {
  myForm: FormGroup;
  constructor() { }
  ngOnInit() {
    this.myForm = new FormGroup({
      name: new FormControl({ value: '', disabled: true }),
      gender: new FormControl({ value: '', disabled: true })
    });
  }
}

䞀方、これはクラスでFormControlを盎接宣蚀しおいるため、゚ラヌの波線は発生したせんangularではフォヌムグルヌプの倖郚でformcontrol宣蚀が蚱可されおいないため、残念ながらこれは解決策ではありたせん-

export class MyDetailComponent implements OnInit {
  myForm: FormGroup;
  name: FormControl;
  gender: FormControl;
  constructor() { }
  ngOnInit() {
    this.myForm = new FormGroup({
      name: new FormControl({ value: '', disabled: true }),
      gender: new FormControl({ value: '', disabled: true })
    });
  }
}

「!!」を付加しおみおください。
トリッキヌですが、
私はこのように成功したした。

image

@hlovdal再珟手順を詊したしたが、゚ラヌを生成できたせんでした。 うたくいくようです。
VS Code Linux v1.20.1、Typescript 2.6.2、Angular.ng-templatev0.1.9を䜿甚しおテストしたした
問題がAngular.ng-templatev0.1.9にただ存圚するかどうかを確認できたすか

@kyliau今日、Windows䞊のVS Code v1.21.1、Typescript 2.3.4、およびAngular.ng-templatev0.1.9でこの問題が発生したした。 フォヌムの䜜成方法は次のずおりです。

this.form = formBuilder.group({
      amount: ["", Validators.compose([Validators.required, SomeCustomValidator.isValid])],
      sale: [{ value: "0" }],
      amountTotal: [""],
      price: [{ value: "123" }, Validators.compose([Validators.required, SomeCustomValidator.isValid])],
      discount: [{ value: "0" }, SomeCustomValidator.isValid],
      priceAfterDiscount: [""],
      sum: [""],
      sumDph: [""]
 });

そしお、テンプレヌトでは、次のように到達しようずしたす。

<ion-item [class.invalid]="!buyForm.controls.amount.valid && (buyForm.controls.amount.dirty || submitAttempt)">

この゚ラヌが発生する

[Angular] Identifier 'amount' is not defined. '__type' does not contain such a member

吊定された堎合、゚ラヌはスロヌされたせん぀たり、 !buyForm.controls.amount.valid郚分ではなく、 buyForm.controls.amount.dirtyのみに䞋線が匕かれたす。 これが、䞊蚘の解決策二重吊定を䜿甚が機胜する理由です。

私は䜕幎もの間これの回避策を探しおいたした-ありがずう

@guhyeonありがずうございたすが、これが䜕をするのか説明できたすか

@rubenheymans
えヌず あたりわかりたせん。
タむプスクリプトコンパむラの問題だず思いたす。
偶然に孊んだのは䟿利です。

代わりにこの回避策を䜿甚しおみたした。これにより、vscode Angular LanguageServiceからの䞍満もなくなりたす。

password.hasError('required')パスワヌドFormControlでValidators.requiredバリデヌタヌを䜿甚

AbstractControl.hasError()は、デバッグのためにAbstractControl.errorsプロパティを画面に衚瀺しお取埗したerrorCode倀が必芁です。

{{password.errors | json}} 、結果 { "required": true }

既知のerrorCodeやカスタムバリデヌタヌに぀いおは、さらに入力できる可胜性がありたす。

image

typescriptコンパむラでも同じ問題が発生したす。

image
image
@ ajaysake1992ず同じ

内郚的には、これは149ず同じ問題だず思いたす-むンデックス control?.errors['required'] によるむンデックス眲名でオブゞェクトを参照するこずは機胜したすが、ドット衚蚘 control?.errors.required で

私は今日これを簡単に手に入れたしたここで、「怜玢」は定矩されおおらず、赀い波線が衚瀺されおいたした。
アプリは意図したずおりにコンパむルされ、動䜜したした実行する前に波線を解決しようずしお半日を費やした埌の私の欲求䞍満に...
私にはvscodeのバグのように聞こえたすか

「!!」が気に入らない堎合は、これが解決策の回避策です。 htmlで。

your.component.ts

emailFormControlを取埗したす任意の{
this.formGroupName.get 'email';を返したす。
}

your.component.html

正しいメヌルアドレスを入力しおください。

この゜リュヌションは、コンパむル゚ラヌ/ランタむム゚ラヌを発生させるこずなく、私のために機胜したす。

これは私のために働いた
゚ラヌをマヌクした行で、タグ>を閉じる前にスペヌスバヌでスペヌスを䜜成するず、゚ラヌが消えたした。
䜜成したスペヌスを削陀したしたが、゚ラヌもなくすべお正垞でした。

たた、たったく同じ問題が発生しおいたす。 FormBuilderで䜜成されたFormGroupコントロヌルは、ビュヌテンプレヌトに察するVSCodeのむンテリセンスずしお認識されおいたせん。 !!ではなく、これに察しお可胜な実際の修正があるかどうかのアむデア。 回避策

ドット挔算子の代わりに角括匧を䜿甚しお、プロパティ名にアクセスできたす。 これにより、コンパむル゚ラヌが修正される可胜性がありたす。
䟋-* ngIf = "price.errors [required]"

うわヌ、ブラケットは赀を解決したす。 これは散発的であるこずが確認できたす。
Angular: 7.2.15 、 typescript: 3.1.6 、 VSC 1.35.1たす。
Screen Shot 2019-06-29 at 10 28 28 AM

これは、カスタムフォヌムバリデヌタヌず組み蟌みフォヌムバリデヌタヌ必須などの䞡方を備えたAngular8.1.3でも匕き続き発生したす。 登録されたバリデヌタヌがむンテリセンスに察しお明確であるずしたら、すばらしいでしょう。 VSC1.36.1の実行。

回避策ドット泚釈の代わりに角かっこ泚釈を䜿甚するか、!! formcontrol.errors.requiredを䜿甚したす

回避策は、むンテリセンスが未定矩の倀のためにそれをマヌクする可胜性があるかどうかを私に考えさせたすか ゚ラヌオブゞェクトは真/停のフラグのセットではなく、前述のフラグの存圚によっお定矩されるためIMOは異垞なパタヌンです、むンテリセンスに問題があるず想像できたす。

@ivanwonderは、この問題のPRをすでに䜜成しおいたす。 それで、圌らがそれをマヌゞするたで埅ちたしょう。

回避策

の代わりに

formGroup.errors?.customValidator

䜿甚する

formGroup.errors && formGroup.errors['customValidator']

回避策があるこずをうれしく思いたす...しかし、問題の調査䞭に䜕か進展はありたしたか
私たちの倚くは、単玔なドット衚蚘を奜むず確信しおいたす。

この問題はv0.802.3でも匕き続き存圚したす

この問題は、非アクティブのために自動的にロックされおいたす。
同様の問題たたは関連する問題が発生した堎合は、新しい問題を提出しおください。

自動䌚話ロックポリシヌの詳现をご芧ください。

_このアクションはボットによっお自動的に実行されたした。_

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡