【问题标题】:Why does angular ng-bind not read \n line breaks from JSON?为什么角度 ng-bind 不从 JSON 读取 \n 换行符?
【发布时间】:2017-01-16 19:59:48
【问题描述】:

我有来自 JSON 的文本,看起来像这样:

"some text some text some text \n\n New paragraph text \n\n Another new paragraph"

然后我有一个简单的 div,如下所示:

<div ng-bind="textFromJSON"></div>

由于某种原因,呈现到页面的文本结果没有换行符。即

some text some text some text New paragraph text Another new paragraph

如果我使用 chrome 开发工具检查该文本,它会显示使用 \n 换行符分成段落的文本块,就像我预期的那样。

some text some text some text

New paragraph text

Another new paragraph

有谁知道如何让页面正确呈现?

【问题讨论】:

    标签: javascript html angularjs json line-breaks


    【解决方案1】:

    确实如此。问题是由于空白默认设置,html 不显示它,将您的 div 更改为:

    <div ng-bind="textFromJSON" style="white-space:pre-wrap"></div>
    

    https://jsfiddle.net/xtqe7on2/为例

    【讨论】:

    • 我花了很长时间研究如何对字符串进行编码,但是在 Angular (2+) 绑定到字符串时,它忽略了我的 JSON 换行符。现在他们解决了!谢谢!
    【解决方案2】:

    您可以使用&lt;pre&gt;

        <div><pre>{{textFromJSON}}</pre></div>
    

    【讨论】:

      【解决方案3】:

      在 Angular 2+ 中,您可以这样使用:

      <pre>{{textInJSON | json}}</pre>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-24
        • 1970-01-01
        • 2017-04-03
        • 1970-01-01
        • 2021-08-27
        • 2017-10-30
        • 1970-01-01
        • 2015-04-10
        相关资源
        最近更新 更多