国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Knockout text綁定DOM的使用方法

2024-05-06 15:55:13
字體:
來源:轉載
供稿:網友
本文講解Knockout text綁定到DOM元素上,使得該元素顯示的文本值為你綁定的參數。該綁定在顯示<span>或者<em>上非常有用,可以用在任何元素上

簡單綁定

復制代碼 代碼如下:


Today's message is: <span data-bind="text: myMessage"></span>
<script type="text/javascript" src="~/Scripts/knockout-2.3.0.debug.js"></script>  
<script type="text/javascript">   
    var viewModel = {       
        myMessage: ko.observable()    
    };
    viewModel.myMessage("Hello, world!");
    ko.applyBindings(viewModel);
</script>


KO將參數值會設置在元素的innerText (IE)或textContent(Firefox和其它相似瀏覽器)屬性上。原來的文本將會被覆蓋。
如果參數是監控屬性observable的,那元素的text文本將根據參數值的變化而更新,如果不是,那元素的text文本將只設置一次并且以后不在更新。
如果你傳的是不是數字或者字符串(例如一個對象或者數組),那顯示的文本將是yourParameter.toString()的等價內容。
使用函數或者表達式來決定text值
繼續在上面的ViewModel中添加一個屬性,并且添加一個依賴監控屬性

復制代碼 代碼如下:


price: ko.observable(24.95)
    viewModel.priceRating = ko.dependentObservable(
        function () {
         return this.price() > 50 ? "expensive" : "affordable";
        }, viewModel);


添加一個UI頁面元素進行綁定

復制代碼 代碼如下:


The item is <span data-bind="text: priceRating"></span> today.


現在,text文本將在“expensive”和“affordable”之間替換,取決于價格怎么改變。
關于HTML encoding
因為該綁定是設置元素的innerText或textContent (而不是innerHTML),所以它是安全的,沒有HTML或者腳本注入的風險。例如:如果你編寫如下代碼:

復制代碼 代碼如下:


viewModel.myMessage("<i>Hello, world!</i>");


它不會顯示斜體字,而是原樣輸出標簽。如果你需要顯示HTML內容,請參考html綁定.
關于IE 6的白空格whitespace
IE6有個奇怪的問題,如果 span里有空格的話,它將自動變成一個空的span。如果你想編寫如下的代碼的話,那Knockout將不起任何作用。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 滨海县| 廉江市| 汉寿县| 平定县| 屏山县| 江安县| 黄浦区| 云林县| 兰州市| 石首市| 汕尾市| 古蔺县| 梨树县| 瑞昌市| 东阿县| 吴忠市| 定边县| 东台市| 化隆| 高雄市| 禄丰县| 湾仔区| 河北区| 澄城县| 张家港市| 保康县| 耿马| 罗平县| 秦安县| 水富县| 昭觉县| 鹤岗市| 华阴市| 紫阳县| 屏山县| 香格里拉县| 都匀市| 大名县| 青浦区| 西畴县| 辛集市|