中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

MVVM架(jia)構~knockoutjs系(xi)列(lie)之Mapping插(cha)件為對象(xiang)添加ko屬性

返回目錄

對于一個JS對象(xiang)來(lai)說(shuo),如果希望(wang)將所有屬性(xing)(xing)進行監視,在(zai)之前我們需要一個個對屬性(xing)(xing)添加ko.observable方法,而(er)有了Mapping插(cha)件(jian)后,它可以幫助我們這件(jian)事.

在Mapping出現之前

var data={
        serverTime:ko.observable( '2010-01-07'),
        numUsers: ko.observable(3),
        realUsers: ko.observable(3),
}

我們(men)需要對(dui)data對(dui)象里(li)所有屬性添加ko.observable方法,才(cai)可以對(dui)它進行監(jian)視.

Mapping出現之后

假設有這樣一(yi)個場景,我們(men)在對(dui)象里的realUsers需(xu)要跟隨numUsers進(jin)行(xing)變化,這時,我們(men)使用Mapping進(jin)行(xing)對(dui)象的KO處理,然(ran)后再使用ko.computed方(fang)法進(jin)行(xing)綁定,看一(yi)下代碼

   var data = {
        serverTime: '2010-01-07',
        numUsers: 3,
        realUsers: 3,
    }
    var M = ko.mapping.fromJS(data);//data對象里(li)所有屬性添加ko屬性
    M.realUsers = ko.computed(function () {
        return M.numUsers() ? M.numUsers() * 2 : 0;
    });
    ko.applyBindings(M, document.getElementById("model2"));

對(dui)應(ying)的HTML代(dai)碼如下

<div id="model2">
    <input type="text" data-bind="value:serverTime" />
    <input type="text" data-bind="value:numUsers,valueUpdate: 'afterkeydown'" />
    <input type="text" data-bind="value:realUsers" />

</div>

通過這個例子(zi),讓我(wo)們(men)知道如(ru)何快速的為JS對象(xiang)添加(jia)KO屬性,呵呵.

返回目錄

 

posted @ 2014-05-15 10:13  張占嶺  閱讀(4388)  評論(1)    收藏  舉報