Html 期望操纵子具有相似的类型或任何角度

Html 期望操纵子具有相似的类型或任何角度,html,angular,typescript,Html,Angular,Typescript,我在这个问题上找不到解决办法 正如我看到的router:router和router.url:string。所以我找不到任何解释,为什么它在html中抱怨router.url==='/successlogin'。有什么想法吗 更新:我改变了路由器的类型,router.url:String,现在一切正常,但我认为应该是相反的。为什么会这样?到目前为止,我认为类型string是“正确”的,而不是string 我的代码简化了: HTML 快速修复此问题: a) 将“/successlogin”存储在某个

我在这个问题上找不到解决办法

正如我看到的
router:router
router.url:string
。所以我找不到任何解释,为什么它在html中抱怨
router.url==='/successlogin'
。有什么想法吗

更新:我改变了路由器的类型,
router.url:String
,现在一切正常,但我认为应该是相反的。为什么会这样?到目前为止,我认为类型
string
是“正确”的,而不是
string

我的代码简化了:

HTML

快速修复此问题:

a) 将“/successlogin”存储在某个变量中,并与该变量进行比较

组成部分

import { Router } from '@angular/router';
constructor( public router: Router) { code here }
import { Router } from '@angular/router';

export class someComponent {

successLogin = '/successlogin'; 

constructor( public router: Router) { code here }
}

Html


注意因为这似乎是一个路径,所以从可维护性的角度来看,理想情况下应该从一个常量文件中读取

干杯(y)

此消息来自VSCode中的“Angular Language Service”扩展

可能是一个更新,因为之前我没有这个消息

我发现的两种解决方案是使用
localeCompare()
如下:

router.url.localeCompare('/successLogin')===0


使用
String
代替
String

也有同样的问题。我将类型从
String
更改为
String
,错误消失了。

您能确认在组件的构造函数中插入了
路由器吗?如果将其设置为
公共
而不是
私有
,错误是否会发生变化(假设已注入)?你的陈述应该是正确的。请出示您的部件代码好吗。没有代码,就没有答案。你在哪里/怎么样
Router.url:string
?另外,请显示
Router
@AlexanderStaroselsky的导入。这里的问题是,当我将
Router.d.ts
中的类型更改为
String
时,警告消失了。是否有幸使那些愚蠢的消息静音?我需要延期但我的强迫症受不了那些假阳性。。更改代码不是一个选项。。
<div *ngIf="!global.showUnauthorizedMessage || router.url === successLogin" class="beforeFooter"></div>
 <div *ngIf="!global.showUnauthorizedMessage || router.url === successLogin" id="footer">
router.url.localeCompare('/successLogin')===0