ASP.NET團隊最近還向jQuery社區(qū)提交了被稱為“data linking”的技術(shù),Data Linking可以幫助你實現(xiàn)對象與對象之間屬性的關(guān)聯(lián)——當(dāng)其中一方發(fā)生改變時另一方也隨之改變。方便的實現(xiàn)頁面中展現(xiàn)的數(shù)據(jù)與實際數(shù)據(jù)對象中的數(shù)據(jù)實時同步。
data linking與data-binding的理論很相近(我們之所以使用data linking這個名稱是因為jQuery中已經(jīng)包含bing()方法,盡管這個方法與數(shù)據(jù)綁定沒有什么關(guān)系...)。
現(xiàn)在來看看data linking該如何使用。假設(shè)有一個頁面,該頁面上有兩個<input>元素,如下所示:
然后,我們通過下面這段Javascript代碼將這兩個INPUT元素與一個叫做“contact”的Javascript對象的對應(yīng)屬性關(guān)聯(lián)起來:
當(dāng)這段代碼執(zhí)行時,contact對象的name屬性值將做為第一個Input元素的值。同理,屬性phone的值則會付給id為phone的第二個Input元素。這樣一來,contact對象的屬性與Input元素的映射關(guān)系也就建立起來了。
由于本例contact對象的屬性綁定到了Input元素上,當(dāng)你訪問該頁面,contact屬性的值將會分別顯示在兩個文本框中:
而且當(dāng)contact對象的屬性值發(fā)生改變時,與該屬性綁定的Input元素中的值也會自動的發(fā)生改變。
這樣,我們便可以通過編程的方式,比如使用jQuery中的attr()方法來修改contact對象的屬性值,如下所示:
這樣關(guān)聯(lián)的Input元素中的值也會自動的被更新(這里我們不需要做任何工作):
需要注意的是正如我們上面使用了jQuery中的attr()方法更新了contact對象的屬性值。為了確保data linking的正常工作,必須使用jQuery中的方法來對屬性值進行修改。
新聞熱點
疑難解答
圖片精選