【问题标题】:How can I output HTML in this example?在此示例中如何输出 HTML?
【发布时间】:2017-09-09 05:05:28
【问题描述】:

这是我的功能:

public static monthDay(month: number): string {
     let day = new Date().getDay();
     let year = new Date().getFullYear();
     return day + ", " + year;
}

我想将day 包装在<span></span> 标签中,但我得到<span></span> 标签输出。

我试过这个:

return "<span>" + day + ", " + "<\/span>" + year;

但是我得到了&lt;span&gt;&lt;/span&gt;标签输出。

我正在尝试在 Angular2 中输出它。

this.day = monthDay(this.month);

我在 HTML 中得到这样的输出:

<span>13, </span>2017

虽然我需要将它包裹在跨度标签中而不是输出跨度标签...

我怎样才能做到这一点?

谢谢。

【问题讨论】:

  • 你的输出是如何显示的??
  • 尝试使用“”而不是“”?
  • 相同的输出 Hristo..

标签: javascript html angular date typescript


【解决方案1】:

您应该在模板中使用[innerHtml] 属性标签,以便 Angular 接受(净化的)HTML 内容而不转义特殊字符。

<div [innerHtml]="day"></div>

【讨论】:

  • 如果保存在this.day范围内怎么办?
  • 适当编辑答案
【解决方案2】:

从标记本身调用函数,如下所示

<span>{{monthDay(2)}}</span>

注意: 我看到了

public static monthDay(month: number): string {}

您有输入参数,但在调用 this.day = monthDay(); 时没有通过

您可以使用保存它

monthDay(){
    let day = new Date().getDay();
     let year = new Date().getFullYear();
     this.myDate = day + ", " + year;
     return this.myDate;
}

在类声明下面将 myDate 声明为字符串

【讨论】:

  • 不建议直接在html模板中调用函数...
猜你喜欢
  • 2014-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 1970-01-01
  • 1970-01-01
  • 2014-03-08
  • 2012-03-12
相关资源
最近更新 更多