0

私のダーツウェブコンポーネント:

<template>
   <div>
      <!--  some html -->
      <p>{{content}}</p>
   </div>
</template>

単純なテキストでは問題なく動作しますが、リッチ コンテンツを表示したいのです。そのcontentため、html、like <div class="blue">hello</div>、またはハイパーテキスト リンクを含めることができます。しかし、完全な html 出力が表示されます。dom を調べると、HTML コンテンツが引用符で囲まれていることがわかります。セキュリティのためだと思いますが、彼の振る舞いを変えることはできますか? それとも別のことをしていますか?

4

2 に答える 2

1

タグを使用できます<content>

Web UI テンプレート:

<template>
   <div>
      <!--  some html -->
      <content></content>
   </div>
</template>

次に、コンポーネントを使用するときに、挿入するコンテンツを指定できます。

<x-your-component>
  <div class="blue">hello</div>
</x-your-component>

そして、他の場所で:

<x-your-component>
  <a href="#">hello</a>
</x-your-component>

WebUIの記事で例を見ることができます。

于 2013-06-10T18:08:53.040 に答える
0

デフォルトでは、テンプレートにバインドされたコンテンツはサニタイズされます。つまり、HTML として解釈できるものはすべて適切にエスケープされます。

これを回避したい場合は、変数 (または一般に、バインドに使用される任意の式) をのインスタンスにするcontent必要があります。詳細はこちらSafeHtml

SafeHtml次のようにインスタンスを作成できます。

var content = new SafeHtml.unsafe("<b>This is bold</b>");

これはまだ流動的であるため、予想外の結果が予想されます。

于 2013-06-10T18:09:00.573 に答える