Vscode-ng-language-service: [角度]識別子「必須」が定義されていません。 '__type'にはそのようなメンバーは含まれていません

作成日 2017年08月28日  ·  22コメント  ·  ソース: angular/vscode-ng-language-service

AbstractControlDirectiveのプロパティエラー

私は次のコードを持っています:

<div>
    <label for="fullname">Passenger name:</label>
    <input
      type="text"
      name="fullname"
      required
      #fullname="ngModel"
      [ngModel]="detail?.fullname">

      <div class="error" *ngIf="fullname.errors?.required && fullname.dirty">
        Passenger name is required.
      </div>
  </div>

ngModel参照のerrorsプロパティ内のプロパティを使用すると、そのエラーが表示されます。
これはテンプレート駆動型フォームの有効な構文であるため、エラーになることはありません。

最も参考になるコメント

これで問題が解決します。
を使用してboolにキャストを追加するだけです!! :


乗客名が必要です。

全てのコメント22件

#149が重複しているため終了

私は上記のアプローチで試しましたが、惨めに失敗しました。

このコードを見てください-

この項目は必須です
          <div *ngIf="username.errors.minlength">Minimum length should be {{username.errors.minlength.requiredLength}}</div>

TSコンパイラによるスローエラー-
[角度]識別子「必須」が定義されていません。 '__type'にはそのようなメンバーは含まれていません

私は同じことを試しましたが、出さないでください


「?」を追加してみてください 「価格」の後。
「」

価格が必要です。
「」

名が必要です。
名は3文字以上である必要があります。

名がパターンと一致しません。


私はこれを試しました

<div *ngIf="firstName.errors.required">First Name is required. <div *ngIf="firstName.errors.minlength">First Name should be minimum 3 character.</div> <div *ngIf="firstName.errors.pattern">First Name doesn't Match pattern.</div> </div> i tried this

これで問題が解決します。
を使用してboolにキャストを追加するだけです!! :


乗客名が必要です。


「?」を追加してみてください 「価格」の後。
「」

価格が必要です。」

私はこの問題を追加して解決しましたか? エラーの後ではなく、パラメータの前? しかし、それを詳しく説明して、疑問符を移動するだけでこの問題がどのように解決されるかを説明してみてください。 @Danielapariona

これで問題が解決します。
を使用してboolにキャストを追加するだけです!! :


乗客名が必要です。

これで私の問題は解決しました! ありがとう!


「?」を追加してみてください 「価格」の後。
「」

価格が必要です。」

それは私のために働いた。 なぜ「?」を追加する必要があるのか​​教えてください。

これも私の問題を解決します追加するだけですか?

しかし、ブール値としてキャストすることも、?(持っていない可能性があります)を使用することも、intelliSenseが_errors_のプロパティを見つけることができないという事実を解決しません。

価格を試してください['エラー'] ['必須']

@EeeEui ? (安全なナビゲーション演算子)は、変数が無効である可能性がある場合でも変数を受け取り、内部で例外を処理します(この場合はinvalid = false)。

?は私にはうまくいきませんでした。 !!は私の場合にのみ機能しました。

? 動作しませんでしたf。 !! 角度7+でのみ機能しました。

<div class="alert alert-danger" *ngIf="username.touched && username.invalid" class="alert alert-danger">
            <div *ngIf="!!username.errors.required">Username is required</div>
            <div *ngIf="!!username.errors.minlength">Username Should be minimum {{ !!username.errors.minlength.requiredLength }} Charecters.</div>
          </div>

エラーはまだ私のエディターで強調表示されているため、VSCodeの問題のように見えますが、Angularはそれを検出しません。 VSCodeでこれを解決するために私がしたことは、関数を使用してTypeScript側のエラーをチェックすることです。

HTML

html

TypeScript

ts

これは私のために働きました、そしてそれはよりきれいに見えます。
<div class="error" *ngIf="fullname.hasError('required')">
この方法は、 fullname.hasError('invalidName')などのカスタム検証も処理する場合でも役立ちます。

同じエラーが発生しました。 *ngIf="formGroup?.get('fullName').hasError('required')"は私のために働いた

エラーはまだ私のエディターで強調表示されているため、VSCodeの問題のように見えますが、Angularはそれを検出しません。 VSCodeでこれを解決するために私がしたことは、関数を使用してTypeScript側のエラーをチェックすることです。

HTML

html

TypeScript

ts

ビッグブラザー、これはあなたにとってあまりにも厄介です。

* ngIf = "yourForm.get( 'yourfield')。hasError( 'required')"を実行します

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

自動会話ロックポリシーの詳細をご覧ください。

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

このページは役に立ちましたか?
0 / 5 - 0 評価