我有以下結構的觀察到的陣列(其中類型可以是純文本或圖片)去掉不需要的DIV或一堆文字。所以我使用if binding。該result looks the way I expected,但問題是在底層的HTML:我如果結合淘汰賽
<div data-bind="foreach: elements">
<div data-bind="if: type == 'text'"><div data-bind="text: info">Hello</div> </div>
<div data-bind="if: type == 'img'"></div> // Do not want it to be here
<div data-bind="if: type == 'text'"></div> // Do not want it to be here
<div data-bind="if: type == 'img'"><img data-bind="attr: { 'src': info}" src="http://cdn.zendesk.com/images/documentation/apps/logo-small.png">
</div>
</div>
它使插入空<divs>
如果if語句返回false。
當我試圖達到我想要的東西與putting if and text binding in the same element我得到了以下錯誤:
Multiple bindings (if and text) are trying to control descendant bindings of the same
我怎樣才能在我的HTML輸出擺脫不必要的DIV與if結合?
如果這是不可能實現與if綁定,有沒有辦法做到這一點呢?因爲如果我不僅有type ='text'或'img',而且還有'video'和其他一些東西,我將把它們全部放在那裏,就像一個神器一樣。
很酷謝謝你。這正是我想要的,因爲註釋不會增加DOM樹的大小。 –
你可以進一步清理這個方法,使用'template'綁定而不是一堆'if's:http://jsfiddle.net/gc4um/1/ – nemesv