【问题标题】:Adding Newline in HTML w/ AngularJS [duplicate]在带有AngularJS的HTML中添加换行符[重复]
【发布时间】:2014-09-05 17:03:49
【问题描述】:

我正在尝试让 AngularJS 和/或 HTML 在 2 个单独的行上打印出以下内容:

FOO
BAR

但是,尽管我的换行符 \n,但我的以下 HTML 和 JS 仍显示在同一行。

HTML

<div ng-controller="MyCtrl">
  {{name}}!
</div>

JavaScript

var myApp = angular.module('myApp',[]);

function MyCtrl($scope) {
    $scope.name = 'FOO \n BAR';
}

这可能吗?

JSFiddle

【问题讨论】:

  • 谢谢,凯西。所以filter 是我唯一的选择……我希望它会少一些工作。
  • 过滤器有点没用...只需注入一些 HTML 并使用 ng-bind-html 指令。
  • 该问题被错误地标记为与现有问题完全相同。通过使用 CSS white-space 属性,您可以在不添加任何 HTML 标记的情况下显示换行符。


  • 这应该是Preserve line breaks in angularjs的副本

标签: html angularjs newline


【解决方案1】:

在 HTML 中,所有换行符、制表符和空格都会被忽略。 如果要插入新行。改用&lt;br/&gt;

【讨论】:

【解决方案2】:

您可以简单地使用&lt;br&gt;

JS

var myApp = angular.module('myApp',[]);

function MyCtrl($scope) {
   $scope.name = 'FOO <br> BAR';
}

HTML

<div ng-controller="MyCtrl">
  <span class="name" ng-bind-html-unsafe="name"></span>!
</div>

更多关于 ng-bind-html 指令的文档:https://docs.angularjs.org/api/ng/directive/ngBindHtml

【讨论】:

  • 嗯 - 这对我不起作用 -jsfiddle.net/rQsV5/8。为什么没有 HTML 渲染?
  • 搞错了,成功了:jsfiddle.net/rQsV5/14
  • 你需要使用 ng-bind-html-unsafe,或者你可以使用 ngSanitize 模块来信任你所有的 HTML 注入。
  • 只需加上我的两分钱。对我来说,只使用 ng-bind-html。我使用的是 Angular 1.5.9 版本。
猜你喜欢
  • 2012-06-10
  • 2013-09-07
  • 2013-05-12
  • 2021-07-28
  • 2018-10-07
  • 2015-12-25
  • 2015-06-22
  • 2010-10-02
  • 2018-07-12
相关资源
最近更新 更多