27

我仍在研究 Dart。我只想将 .dart 中定义的字符串输出到我的 html 中。我查看了https://sites.google.com/site/dartlangexamples/learn/variables/strings上的文档

我知道我需要使用“””。

当我打印我的查询时,我得到了很好的结果,但是当我用 html 输出它时,它们是并排的。

它是:

.dart:

    var symbole = """
      *          
      *** 
    *****  
  ******* 
*********""";
  var element03 = query('#exercice03');
  element03.innerHTML = symbole;
  print(symbole); 
}

Print 给出了我在 var symbole 中设置的确切内容,但是在我的 HTML 中,我得到了这个:


My html is :

<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8">
    <title>HelloWorld</title>
    <link rel="stylesheet" href="HelloWorld.css">
  </head>
  <body>
    <div id="container">
      
      <p class="question">Exercice : Pritn the * : <span id="exercice03"></span></p>
    </div>
  
    <script type="application/dart" src="web/HelloWorld.dart"></script>
    <script src="https://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js"></script>
  </body>
</html>

我不明白为什么在我的输出 html 中我没有得到与我的飞镖编辑器中的打印相同的结果,有人可以帮我解决这个问题吗?

4

2 回答 2

30

我不确定我是否在这里关注你——你想要这个吗?

    var symbole = """
      *<br />
      ***<br />
    *****<br />
  *******<br />
*********<br />""";
var element03 = query('#exercice03');
element03.innerHTML = symbole;

我刚刚添加了断线

所以正如马特 B 所说, 的输出print()格式与浏览器上的 HTML 不同。

于 2012-10-28T10:52:36.203 回答
3

这是因为 HTML 对空格不敏感。即解析时不显示html中的新行。您需要使用换行符<br>,或者需要将其包装在预先格式化的<pre>标签中

于 2012-10-28T01:49:44.843 回答