コードが正常に機能していますが、把握できないTslintエラーが発生しています。この設定はAngular 1を使用していましたが、現在はAngular Cliを使用してアプリケーションを4に変換しています。角4:オブジェクトから正規表現パターンを呼び出す
角:識別子 'vin'が定義されていません。オブジェクトにはそのような が含まれていません。
以下に示すオブジェクトに格納されているRegexパターンを共有しています。それは私のコンポーネントにインポートされ、[pattern]="patterns.KEY"
を使って呼び出されます。
パターンは正常に動作するはずですが、検証は機能していますが、入力に添付すると上記のエラーが発生します。 patterns
にデータ型がないためですか?もしそうなら、それはどのように定義されますか?
エラーはテンプレートファイルでのみスローされます。コンポーネントファイルとパターンファイルには、検証エラーはありません。
テンプレートコード:
<div class="form-group">
<label for="vin">VIN</label>
<input type="text" class="form-control" id="vin" placeholder="VIN"
minlength="8" maxlength="17" required [pattern]="patterns.vin"
[(ngModel)]="model.Vin" name="Vin" #Vin="ngModel">
</div>
コンポーネントコード:
export class COMPONENT_NAME implements OnInit {
patterns = Patterns;
}
パターンファイル:
export const Patterns: Object = {
vin: /^[\w\d]+$/i,
};
[このplunk](https://plnkr.co/edit/Qx9SFvsMVkOthmH53vGZ?p=preview)で私のために働いていますが、ファイルから正しくインポートしましたか?編集:plunkは入力で更新されました: 'a'で始まり、他のすべての条件は – 0mpurdy
@ 0mpurdyと一致する必要があります。テンプレートファイルでlintエラーが発生しますが、うまく描画されます。厄介な問題ではなく、壊れた問題ではありません。 – austinthedeveloper
申し訳ありませんが、私はそれがリントの問題であると理解していませんでした。それは 'Object'とタイプしないでください。 – 0mpurdy