HTML-内嵌标签不会消失

时间:2018-07-03 10:45:25

标签: javascript html angularjs

我有一个页面,该页面从电子表格加载一些值,并在页面上显示这些值。 (即它可以处理多种语言)。

问题

当我将html标记放在电子表格中时,它们不会被应用。

示例

如果我将以下文本放在html文件中并查看,浏览器将按预期方式应用html标签。

<div><a href='http://...'>some <br> value</a></div>

enter image description here

但是,当应用它从电子表格加载时,<br>标签不会被应用,而是停留在一行上。

<div class="col-xs-12 col-sm-6 pull-right">
    <a ui-sref="open.registration.login.resetPassword"
        class="bmw-command-link bmw-mt-2 bmw-mb-2">{{ 'gcdm-login.forgotten_password' |
        translate }}</a>
</div>

enter image description here

enter image description here

此外,如果我在Chromes Developer工具中更新了该值,则该值会在浏览器中更改,但不会应用html标记。就像浏览器的显示没有刷新以应用html标记一样。

问题

有没有办法让我从应用的电子表格中读取html标签?

这是一个时间问题吗,这意味着DOM已经渲染并且无法即时更改?

谢谢

2 个答案:

答案 0 :(得分:2)

这实际上取决于您使用的Angular版本,但所有内容都会恢复为一件事:您必须使用ng-bind-html指令或[innerHTML]属性将文本绑定为HTML。

AngularJS

<div class="col-xs-12 col-sm-6 pull-right">
    <a ui-sref="open.registration.login.resetPassword"
        class="bmw-command-link bmw-mt-2 bmw-mb-2" ng-bind-html="'gcdm-login.forgotten_password' | translate"></a>
</div>

角度2-6

<div class="col-xs-12 col-sm-6 pull-right">
    <a ui-sref="open.registration.login.resetPassword"
        class="bmw-command-link bmw-mt-2 bmw-mb-2" [innerHTML]="'gcdm-login.forgotten_password' | translate"></a>
</div>

我也为您提供了一个有效的示例 here

答案 1 :(得分:0)

工作正常

尝试

<div class="col-xs-12 col-sm-6 pull-right">
  <a ui-sref="open.registration.login.resetPassword" class="bmw-command-link bmw-mt-2 bmw-mb-2">forgotten<br>password</a>
</div>