AngularJS - 带粗体的字符串。控制器和模板之间的关注点分离

时间:2017-04-10 21:32:29

标签: javascript html angularjs ecmascript-6

我在AngularJS中有一个应用程序,版本1,带有Ecmascript 6,我想显示一个字符串,其中一个部分是正常的重量,另一个是粗体。

例如,以下情况:

  • 将立即开始
  • 将在6分钟内开始
  • 将在12个月内启动

您将使用哪种方式,因为我想避免在控制器中使用表示逻辑。

向模板发送两个属性,其中字符串应该是正常的,另一个属性应该是粗体?这样我就可以在控制器中显示逻辑。某种模板字符串?

1 个答案:

答案 0 :(得分:0)

在我的Angular项目中,我用html绑定值替换targetstring,以在模板中显示粗体文本。

在控制器中:

private replaceString() {
let someString = 'hello world';
$scope.formattedString = someString.replace('world', '<span>world</span>');
}

模板:

<div ng-bind-html="formattedString"></div>

仅供参考:

使用$ sce.trustAsHtml宣布角度以信任您的值,否则angular将拒绝(ng-bind-html)个案。 链接:https://docs.angularjs.org/api/ng/service/ $ sce