0

bind()テンプレート内のXML要素を次のように文字列値に置き換えるために使用しています。

bind("foo", nodes, "bar" -> "My Content")

テンプレートで自己閉鎖要素を使用すると、次のようになります。

What I want to see is <foo:bar />, and everything after it.

私は時々これを手に入れます:

What I want to see is My Content

これではありません

What I want to see is My Content, and everything after it.

しかし、非自己閉鎖型の空の要素を使用するようにテンプレートを変更すると、次のようになります。

What I want to see is <foo:bar></foo:bar, and everything after it.

私は常に完全にレンダリングされたコンテンツを取得します。

自己閉鎖タグの誤った動作を引き起こす原因をまだ理解できていません。

これは単なるリフトバグですか、それともこれが発生する理由がありますか?

4

1 に答える 1

1

問題は、Lift が使用する HTML パーサーにあります。ほとんどのタグでは、自己終了を認識せず、その後のコンテンツがタグ内のコンテンツであると想定します (したがって、削除されます)。<div />または同様のタグを CSS セレクターと組み合わせて使用​​しようとすると、同じ問題が発生します。それ自体がバグであるかどうかはわかりません.HTML5で予想される動作であるように思われるためです(少なくとも、受け入れられた回答の最後の箇条書きによれば)。

于 2013-03-18T20:44:05.490 に答える