首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >角常春藤类型检查:键入“SafeHtml”不能指定键入“string”

角常春藤类型检查:键入“SafeHtml”不能指定键入“string”
EN

Stack Overflow用户
提问于 2019-10-07 08:01:05
回答 1查看 4.3K关注 0票数 5

切换到常春藤编译器后,我将得到类型记录错误

代码语言:javascript
运行
复制
[Step 4/5] src/app/app.component.html(1,26): Type 'SafeHtml' is not assignable to type 'string'.

在角类中,有一个成员属性声明为SafeHtml

代码语言:javascript
运行
复制
@Component({
  selector: 'app',
  template: `<div [innerHTML]="description"></div>`
})
export class AppComponent {
  description: SafeHtml;

  constructor(private sanitizer: DomSanitizer) {}

  ngOnInit(): void {
    this.description = this.sanitizer.sanitize(SecurityContext.HTML, '<strong>whatever comes from server</strong>');
  }
}

我的问题是如何将SafeHtmlSafeUrl转换为字符串?只是.toString()行吗?

Angulars SafeHtml声明为:

代码语言:javascript
运行
复制
/**
 * Marker interface for a value that's safe to use as HTML.
 *
 * @publicApi
 */
export declare interface SafeHtml extends SafeValue {
}

和在innerHtml中定义的lib.dom.d.ts:

代码语言:javascript
运行
复制
interface InnerHTML {
    innerHTML: string;
}

innerHtmlstring的类型,而我有SafeHtml

如何复制:

代码语言:javascript
运行
复制
git clone https://github.com/felikf/angular-repro-safe-html.git
npm i
npm run build

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-07 17:54:47

它似乎是一个bug,现在这是答案:https://github.com/angular/angular/issues/33028

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58265539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档