【问题标题】:How to show two continuous spaces in Angular?如何在Angular中显示两个连续的空间?
【发布时间】:2016-05-16 19:09:25
【问题描述】:

更新:Chris 和 Mark 的两种方式都有效。

我正在使用 Angular 2。我尝试在页面中显示 ab 之间的两个连续空格。我已经尝试了所有这些,但它们都不起作用:

{{text}}

text = "a\00a0\00a0b";
text = `a\00a0\00a0b`;
text = "a  b";
text = `a  b`;
text = "a  b";
text = `a  b`;

我怎样才能让它工作?

【问题讨论】:

    标签: html angular


    【解决方案1】:

    在模板中使用' ' 而不是' '

    【讨论】:

      【解决方案2】:

      我相信您会因为 html 剥离空格的性质而得到这个。

      您也许可以在要呈现该文本的任何元素上使用 white-space: pre css 属性。

      function MyCtrl($scope) {
        $scope.text = 'a      b';
      }
      ...
      <p style="white-space: pre">{{text}}</p>
      

      我对您的应用了解不多,但也许这就足够了。

      Demo

      【讨论】:

      • 但他说他试过&amp;nbsp;s,没有被HTML剥离。
      • 我也是这么想的,直到我在本地尝试过。以上是我唯一的工作。对 OP 来说可能就足够了,所以我想值得一试。
      • 很公平。您可能希望显示分配给 text 的值,这样人们就不必点击进入演示。
      • 谢谢你,@Chris!您的 style="white-space: pre" 方式也适用于 Angular 2。
      • 为我工作:)
      【解决方案3】:

      绑定到 DOM 属性 innerHTML 而不是 DOM 属性 textContent(这是 {{}} 绑定到的):

      <span [innerHTML]="text"></span>
      
      text = "a&nbsp;&nbsp;b";
      

      【讨论】:

      • 在 6.0.0 版本中,我发现您必须在文本字符串周围添加单引号,否则它会假定整个内容是一个变量。您也不能从innerHTML 周围获取方括号,因为这会出于不同的原因而抱怨。所以基本上text = "'a&amp;nbsp;&amp;nbsp;b'" 对我有用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-06
      • 2022-06-22
      相关资源
      最近更新 更多