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

MVVM架構~Knockoutjs系列之text,value,attr,visible,with的(de)數據(ju)綁(bang)定

返回目錄

Knockoutjs是微軟mvc4里一(yi)個新(xin)東西,用這在MVC環境里實(shi)現MVVM,小微這次沒(mei)有大(da)張旗(qi)鼓,而是愉愉的(de)為我們(men)開發者嵌入了一(yi)個實(shi)現MVVM的(de)插(cha)件,這下面的(de)幾篇文章(zhang)中,我和大(da)家將一(yi)起去探(tan)討它,

它是如何把前臺開發者與后臺開發者的工作徹底分離的

對于html標記來(lai)說(shuo)(shuo),為它們賦(fu)值(zhi)的(de)方(fang)法有很(hen)多,你使用(yong)JS動態(tai)為它賦(fu)值(zhi)也是可(ke)能的(de),但(dan)從面向對象的(de)角度來(lai)說(shuo)(shuo),意(yi)義不大(da),而當前臺開(kai)發者了解(jie)數據(ju)結構(gou)后,可(ke)以使用(yong)Knockoutjs實現面向對象的(de)數據(ju)綁(bang)定,

HTML元素的面向(xiang)對象的賦(fu)值(zhi),今天是(shi)個開篇,內容比較簡單,只講一下(xia)text,value和(he)attr的數據綁定。

text綁定:你(ni)可以為(wei)p,span,div,td等標(biao)記(ji)去加這個(ge)text元素(su)

value綁定(ding):你可以為input標記加value元素

attr綁定(ding):你可以(yi)為標記動態添加它們(men)的(de)屬性,如<a>標簽的(de)href,title,<img>標簽的(de)src,alt等(deng)等(deng)

visible綁定(ding):可以(yi)動態(tai)顯示(shi)或隱藏(zang)指定(ding)的標記,true值(zhi)為(wei)顯示(shi),false值(zhi)為(wei)隱藏(zang)

with綁定:可以綁定一個對(dui)象,然后在內部標記里就可以訪問對(dui)象的屬性了

下面的實例中,包含了上面幾(ji)個(ge)概(gai)念的用法:

 <p data-bind="with:lines">
        單價:<input type="text" data-bind='value:productPrice,  valueUpdate: "afterkeydown"' />
        數量:<input type="text" data-bind='visible:productPrice() > 0,value: productCount, valueUpdate: "afterkeydown"' />
        小計:<span data-bind="text:total"></span>
        <a data-bind='attr:{href:"/home/add/"+id,title:name}'>添加</a>
    </p>
    <script type="text/ecmascript">
        var product = function () {
            self = this;
            self.id = 1;
            self.name = "測試產品";
            self.productPrice = ko.observable(0);
            self.productCount = ko.observable(1);
            self.total = ko.computed(function () {

                return self.productCount() * self.productPrice();
            });
        }
        var products = function () {
            var self = this;
            self.lines = ko.observable(new product());
        }
        ko.applyBindings(new products());
    </script>

上面的實例中,當productPrice 為0時,會將productPrice所在的元素隱藏,而這(zhe)個實例中的數(shu)據返(fan)回(hui)為一(yi)個對象lines,這(zhe)時如果希望訪問(wen)它內部屬性,需要(yao)我們使用with關鍵字。

怎么樣,Knockout給我們不(bu)(bu)一般的(de)感覺(jue)吧,它使(shi)用前臺開發者可以(yi)不(bu)(bu)去關心數據的(de)生產方式(shi),而直接以(yi)標記的(de)形式(shi)填充即可。

返回目錄

posted @ 2014-01-02 16:30  張占嶺  閱讀(13385)  評論(4)    收藏  舉報