Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度常春藤类型检查:类型';安全HTML';不可分配给类型';字符串';_Angular_Typescript_Angular Ivy - Fatal编程技术网

Angular 角度常春藤类型检查:类型';安全HTML';不可分配给类型';字符串';

Angular 角度常春藤类型检查:类型';安全HTML';不可分配给类型';字符串';,angular,typescript,angular-ivy,Angular,Typescript,Angular Ivy,切换到Ivy编译器后,我遇到类型脚本错误: [Step 4/5]src/app/app.component.html(1,26):类型“SafeHtml”不可分配给类型“string”。 在Angular类中,有一个成员属性声明为SafeHtml: @组件({ 选择器:“应用程序”, 模板:`` }) 导出类AppComponent{ 说明:SafeHtml; 构造函数(私有sanitizer:DomSanitizer){} ngOnInit():void{ this.description=

切换到Ivy编译器后,我遇到类型脚本错误

[Step 4/5]src/app/app.component.html(1,26):类型“SafeHtml”不可分配给类型“string”。
在Angular类中,有一个成员属性声明为
SafeHtml

@组件({
选择器:“应用程序”,
模板:``
})
导出类AppComponent{
说明:SafeHtml;
构造函数(私有sanitizer:DomSanitizer){}
ngOnInit():void{
this.description=this.sanitizer.sanitize(SecurityContext.HTML,来自服务器的任何内容);
}
}
我的问题是如何将
SafeHtml
SafeUrl
转换为字符串?只是
.toString()
可以吗

Angulars
SafeHtml
声明为:

/**
*标记可安全用作HTML的值的接口。
*
*@publicApi
*/
导出声明接口SafeHtml扩展了SafeValue{
}
和lib.dom.d.ts中定义的[innerHtml]:

interface InnerHTML{
innerHTML:字符串;
}
innerHtml
string
的类型,而我有
SafeHtml

如何复制:

git克隆https://github.com/felikf/angular-repro-safe-html.git
npm i
npm运行构建

这似乎是一个bug,现在答案是:

您能提供实际的代码,而不是您认为相关的代码吗?Typescript键入错误来自TS,而不是模板:您提供的代码对帮助您几乎毫无用处……我认为您错了-Angular Ivy编译器对Angular模板执行更严格的键入检查。如本文所述:我的问题是,该描述在lib.dom.d.ts中定义为
SafeHtml
,而
InnerHtml
在lib.dom.d.ts中定义为
String
。但是,除非你提供代码,否则没有人能够帮助你。(另外,根据,你应该提供一个,所以我想更多的代码毕竟不是那么糟糕!)@Maryannah你是对的。我已经添加了复制问题的步骤-请参见问题。