私が見たようにrouter: Router
およびrouter.url: string
。だから私はそれがhtmlで不平を言っている理由をrouter.url === '/successlogin'
。何か案が?
更新:ルーターの種類を変更しました、router.url: String
と今は大丈夫ですが、私は逆に動作するはずです。なんでこんなことが起こっているの?これまでは、string
はString
ではなく「正しい」タイプだと思っていました...
私のコードは単純化されました:
HTML
<div *ngIf="!global.showUnauthorizedMessage || router.url === '/successlogin'" class="beforeFooter"></div>
<div *ngIf="!global.showUnauthorizedMessage || router.url ==='/successlogin'" id="footer">
成分
import { Router } from '@angular/router';
constructor( public router: Router) { code here }
このメッセージは、VSCodeの「Angular Language Service」拡張からのものです!
以前はこのメッセージがなかったので、おそらく更新です...
私が見つけた2つの解決策は、次のようにlocaleCompare()
を使用することです。
router.url.localeCompare('/successLogin')===0
または
String
の代わりにstring
を使用
これのクイックフィックス:
a) "/ successlogin"をいくつかの変数に格納し、その変数と比較します
成分
import { Router } from '@angular/router';
export class someComponent {
successLogin = '/successlogin';
constructor( public router: Router) { code here }
}
HTML
<div *ngIf="!global.showUnauthorizedMessage || router.url === successLogin" class="beforeFooter"></div>
<div *ngIf="!global.showUnauthorizedMessage || router.url === successLogin" id="footer">
注これはパスのように見えるため、保守性の観点から、理想的には定数ファイルから読み取る必要があります。
乾杯(y)