【问题标题】:why won't \n and <br> work in a string? [duplicate]为什么 \n 和 <br> 不能在字符串中工作? [复制]
【发布时间】:2015-04-03 08:07:48
【问题描述】:

我正在尝试打印对象中的内容,其中一些属性中有
标签,这就是为什么我不能在 js 中随机创建新元素,因为我不知道哪些属性会有
标签。但他们没有在我的浏览器中呈现。我觉得我在这里遗漏了一个非常简单的概念......下面提供了一个示例

JSFiddle:http://jsfiddle.net/tvzgypd6/3/

这只是我在 Angular 中使用 ng-repeat 时无法正确显示的对象示例

$scope.objs = [
    {a : 'test 1 <br> test 1'},
    {a : 'test 2 '},
    {a : 'test 3'},
    {a : "test 4 \n test 4"},
    {a : 'test 5 \n test 5'},
]

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    你可以通过 CSS 来实现:

    p {
        white-space: pre;
    }
    

    这里是你的小提琴的一个分支:http://jsfiddle.net/em0r3krw/

    【讨论】:

      【解决方案2】:

      为了显示 html,您应该使用 ng-bind-htmlng-sanitize

      angular.module('test', ['ngSanitize'])
      
      <li ng-repeat="obj in objs">
          <p ng-bind-html="obj.a"></p>
      </li>
      

      在 html 中 \n 实际上不会添加新行。所以你应该使用white-space: pre;,正如zwacky指出的那样:

      p {
          white-space: pre;
      }
      

      JsFiddle

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-06
        • 1970-01-01
        • 2016-08-17
        • 1970-01-01
        • 2016-12-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多