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