2012-02-01 244 views
2

我在兩個基於鏈接的按鈕jQuery Mobile的應用程序有一個頁面,我想結合自己的屬性ko.observable()對象:綁定屬性

<div data-role="page" id="details"> 
    <div data-role="content"> 
     <!-- ko with: selectedPerson --> 
     <div> 
      <h2 data-bind="text: name"></h2>           
      <a data-role="button" data-bind="attr: { href: phoneLink, title: phone}, text : phone"></a>   
      <a data-role="button" data-bind="attr: { href: emailLink, title: email}, text : email"></a> 
     </div> 
     <!-- /ko -->     
    </div> 
</div> 

問題是鏈接不會呈現爲按鈕,我將它們視爲簡單的鏈接。

我怎樣才能讓jqm和淘汰賽一起工作?我是否需要爲它編寫自定義綁定?

感謝

回答

2

發生這種情況,因爲當你buttonising你的錨標記,這些新的標籤不存在。爲了在創建完成後對它們進行按鈕化,您必須在添加到集合後告訴淘汰賽做些事情。值得慶幸的是,淘汰賽爲您提供了一個功能,可以在屏幕上顯示元素後立即執行。

使用afterAdd的例子可以看這裏:

http://knockoutjs.com/examples/animatedTransitions.html

不幸的是,我只看到過使用模板,而不是在線HTML,所以你可能需要稍微重構你的HTML。

+1

謝謝,它工作。我需要引入模板,並且不能使用基於鏈接的按鈕(因爲它們不包含jqm方法),但它工作:) – tpolyak 2012-02-02 14:10:03