私はこれに似た変数を定義する共有サービスファイルを持っています:
export class SharedService {
activeModal: String;
}
次に、サービスをインポートして定義するコンポーネントファイルがあります。
constructor(public sharedService: SharedService) {
}
そのコンポーネントのテンプレートファイルで、モーダルの値を確認します。
<div *ngIf="sharedService.activeModal === 'login'"></div>
すべて正常に機能しますが、エディターでは、sharedService.activeModal === 'login'部分の下に赤い波線が表示され、その上にカーソルを合わせると、このリンティングエラーが表示されます。
[Angular] Expected the operants to be of similar type or any
property sharedService of ModalComponent
私が間違っていることは何ですか?
string
の宣言で、小文字のString
(ラッパーオブジェクトタイプactiveModal
ではなくプリミティブ)を試してください。
同じエラーを持っているが解決策が適用されないものについては、列挙型と文字列を比較していないことを確認してください。
class LalaComponent {
someEnum = SomeEnum;
randomValue: SomeEnum;
}
およびhtml
<ng-container *ngIf="randomValue === someEnum.option1" >
</ng-container>
余分なタイプを追加する場合は、将来のエラーを削除するように設定できます
activeModal: any