最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Knockout應(yīng)用開發(fā)指南之綁定語法

第三章所有代碼都需要啟用KO的ko.applyBindings(viewModel);功能,才能使代碼生效,為了節(jié)約篇幅,所有例子均省略了此行代碼。

創(chuàng)新互聯(lián)公司是專業(yè)的西湖網(wǎng)站建設(shè)公司,西湖接單;提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行西湖網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

1 visible 綁定

目的

visible綁定到DOM元素上,使得該元素的hidden或visible狀態(tài)取決于綁定的值。

例子

 
 
 
  1.     You will see this message only when "shouldShowMessage" holds a true value.
  •     var viewModel = {
  •         shouldShowMessage: ko.observable(true) // Message initially visible
  •     };
  •     viewModel.shouldShowMessage(false); // ... now it's hidden
  •     viewModel.shouldShowMessage(true); // ... now it's visible again
  • 參數(shù)

    主參數(shù)

    當(dāng)參數(shù)設(shè)置為一個(gè)假值時(shí)(例如:布爾值false, 數(shù)字值0, 或者null, 或者undefined) ,該綁定將設(shè)置該元素的style.display值為none,讓元素隱藏。它的優(yōu)先級(jí)高于你在CSS里定義的任何display樣式。

    當(dāng)參數(shù)設(shè)置為一個(gè)真值時(shí)(例如:布爾值true,或者非空non-null的對(duì)象或者數(shù)組) ,該綁定會(huì)刪除該元素的style.display值,讓元素可見。然后你在CSS里自定義的display樣式將會(huì)自動(dòng)生效。

    如果參數(shù)是監(jiān)控屬性observable的,那元素的visible狀態(tài)將根據(jù)參數(shù)值的變化而變化,如果不是,那元素的visible狀態(tài)將只設(shè)置一次并且以后不在更新。

    其它參數(shù)

    注:使用函數(shù)或者表達(dá)式來控制元素的可見性

    你也可以使用JavaScript函數(shù)或者表達(dá)式作為參數(shù)。這樣的話,函數(shù)或者表達(dá)式的結(jié)果將決定是否顯示/隱藏這個(gè)元素。例如:

     
     
     
    1.  0">
    2.     You will see this message only when 'myValues' has at least one member.
  •     var viewModel = {
  •         myValues: ko.observableArray([]) // Initially empty, so message hidden
  •     };
  •     viewModel.myValues.push("some value"); // Now visible
  • 依賴性

    除KO核心類庫外,無依賴。

    2 text 綁定

    目的

    text 綁定到DOM元素上,使得該元素顯示的文本值為你綁定的參數(shù)。該綁定在顯示或者上非常有用,但是你可以用在任何元素上。

    例子

     
     
     
    1. Today's message is:  
    2.     var viewModel = {
    3.         myMessage: ko.observable() // Initially blank
    4.     };
    5.     viewModel.myMessage("Hello, world!"); // Text appears

    參數(shù)

    主參數(shù)

    KO將參數(shù)值會(huì)設(shè)置在元素的innerText (IE)或textContent(Firefox和其它相似瀏覽器)屬性上。原來的文本將會(huì)被覆蓋。

    如果參數(shù)是監(jiān)控屬性observable的,那元素的text文本將根據(jù)參數(shù)值的變化而更新,如果不是,那元素的text文本將只設(shè)置一次并且以后不在更新。

    如果你傳的是不是數(shù)字或者字符串(例如一個(gè)對(duì)象或者數(shù)組),那顯示的文本將是yourParameter.toString()的等價(jià)內(nèi)容。

    其它參數(shù)

    注1:使用函數(shù)或者表達(dá)式來決定text值

    如果你想讓你的text更可控,那選擇是創(chuàng)建一個(gè)依賴監(jiān)控屬性(dependent observable),然后在它的執(zhí)行函數(shù)里編碼,決定應(yīng)該顯示什么樣的text文本。

    例如:

     
     
     
    1. The item is  today.
    2.     var viewModel = {
    3.         price: ko.observable(24.95)
    4.     };
    5.     viewModel.priceRating = ko.dependentObservable(function () {
    6.         returnthis.price() >50?"expensive" : "affordable";
    7.     }, viewModel);

    現(xiàn)在,text文本將在“expensive”和“affordable”之間替換,取決于價(jià)格怎么改變。

    然而,如果有類似需求的話其實(shí)沒有必要再聲明一個(gè)依賴監(jiān)控屬性(dependent observable), 你只需要按照如下代碼寫JavaScript表達(dá)式就可以了:

     
     
     
    1. The item is  50 ? 'expensive' : 'affordable'"> today.

    結(jié)果是一樣的,但我們不需要再聲明依賴監(jiān)控屬性(dependent observable)。

    注2:關(guān)于HTML encoding

    因?yàn)樵摻壎ㄊ窃O(shè)置元素的innerText或textContent (而不是innerHTML),所以它是安全的,沒有HTML或者腳本注入的風(fēng)險(xiǎn)。例如:如果你編寫如下代碼:

     
     
     
    1. viewModel.myMessage("Hello, world!");

    … 它不會(huì)顯示斜體字,而是原樣輸出標(biāo)簽。如果你需要顯示HTML內(nèi)容,請(qǐng)參考html綁定.

    注3:關(guān)于IE 6的白空格whitespace

    IE6有個(gè)奇怪的問題,如果 span里有空格的話,它將自動(dòng)變成一個(gè)空的span。如果你想編寫如下的代碼的話,那Knockout將不起任何作用:

     
     
     
    1. Welcome,  to our web site.

    … IE6 將不會(huì)顯示span中間的那個(gè)空格,你可以通過下面這樣的代碼避免這個(gè)問題:

     
     
     
    1. Welcome,   to our web site.

    IE6以后版本和其它瀏覽器都沒有這個(gè)問題

    依賴性

    除KO核心類庫外,無依賴。

    #p#

    3 html 綁定

    目的

    html綁定到DOM元素上,使得該元素顯示的HTML值為你綁定的參數(shù)。如果在你的view model里聲明HTML標(biāo)記并且render的話,那非常有用。

    例子

     
     
     
     
  •     var viewModel = {
  •         details: ko.observable() // Initially blank
  •     };
  •     viewModel.details("For further details, view the report here.");
  •     // HTML content appears
  •   
  • 參數(shù)

    主參數(shù)

    KO設(shè)置該參數(shù)值到元素的innerHTML屬性上,元素之前的內(nèi)容將被覆蓋。

    如果參數(shù)是監(jiān)控屬性observable的,那元素的內(nèi)容將根據(jù)參數(shù)值的變化而更新,如果不是,那元素的內(nèi)容將只設(shè)置一次并且以后不在更新。

    如果你傳的是不是數(shù)字或者字符串(例如一個(gè)對(duì)象或者數(shù)組),那顯示的文本將是yourParameter.toString()的等價(jià)內(nèi)容。

    其它參數(shù)

    注:關(guān)于HTML encoding

    因?yàn)樵摻壎ㄔO(shè)置元素的innerHTML,你應(yīng)該注意不要使用不安全的HTML代碼,因?yàn)橛锌赡芤鹉_本注入攻擊。如果你不確信是否安全(比如顯示用戶輸入的內(nèi)容),那你應(yīng)該使用text綁定,因?yàn)檫@個(gè)綁定只是設(shè)置元素的text 值innerText和textContent。

    依賴性

    除KO核心類庫外,無依賴。

    4 css 綁定

    目的

    css綁定是添加或刪除一個(gè)或多個(gè)CSS class到DOM元素上。 非常有用,比如當(dāng)數(shù)字變成負(fù)數(shù)時(shí)高亮顯示。(注:如果你不想應(yīng)用CSS class而是想引用style屬性的話,請(qǐng)參考style綁定。)

    例子

     
     
     
    1.    Profit Information
  •  
  •     var viewModel = {
  •         currentProfit: ko.observable(150000)
  •         // Positive value, so initially we don't apply the "profitWarning" class
  •     };
  •     viewModel.currentProfit(-50);
  •     // Causes the "profitWarning" class to be applied
  • 效果就是當(dāng)currentProfit 小于0的時(shí)候,添加profitWarning CSS class到元素上,如果大于0則刪除這個(gè)CSS class。

    參數(shù)

    主參數(shù)

    該參數(shù)是一個(gè)JavaScript對(duì)象,屬性是你的CSS class名稱,值是比較用的true或false,用來決定是否應(yīng)該使用這個(gè)CSS class。

    你可以一次設(shè)置多個(gè)CSS class。例如,如果你的view model有一個(gè)叫isServre的屬性,

     
     
     

    非布爾值會(huì)被解析成布爾值。例如, 0和null被解析成false,21和非null對(duì)象被解析成true。

    如果參數(shù)是監(jiān)控屬性observable的,那隨著值的變化將會(huì)自動(dòng)添加或者刪除該元素上的CSS class。如果不是,那CSS class將會(huì)只添加或者刪除一次并且以后不在更新。

    你可以使用任何JavaScript表達(dá)式或函數(shù)作為參數(shù)。KO將用它的執(zhí)行結(jié)果來決定是否應(yīng)用或刪除CSS class。

    其它參數(shù)

    注:應(yīng)用的CSS class的名字不是合法的JavaScript變量命名

    如果你想使用my-class class,你不能寫成這樣:

     
     
     
    1. ...

    … 因?yàn)閙y-class不是一個(gè)合法的命名。解決方案是:在my-class兩邊加引號(hào)作為一個(gè)字符串使用。這是一個(gè)合法的JavaScript 對(duì)象 文字(從JSON技術(shù)規(guī)格說明來說,你任何時(shí)候都應(yīng)該這樣使用,雖然不是必須的)。例如,

    依賴性

    除KO核心類庫外,無依賴。

    5 style 綁定

    目的

    style綁定是添加或刪除一個(gè)或多個(gè)DOM元素上的style值。比如當(dāng)數(shù)字變成負(fù)數(shù)時(shí)高亮顯示,或者根據(jù)數(shù)字顯示對(duì)應(yīng)寬度的Bar。(注:如果你不是應(yīng)用style值而是應(yīng)用CSS class的話,請(qǐng)參考CSS綁定。)

    例子

     
     
     
    1.    Profit Information
  •     var viewModel = {
  •         currentProfit: ko.observable(150000) // Positive value, so initially black
  •     };
  •     viewModel.currentProfit(-50); // Causes the DIV's contents to go red
  • 當(dāng)currentProfit 小于0的時(shí)候div的style.color是紅色,大于的話是黑色。

    參數(shù)

    主參數(shù)

    該參數(shù)是一個(gè)JavaScript對(duì)象,屬性是你的style的名稱,值是該style需要應(yīng)用的值。

    你可以一次設(shè)置多個(gè)style值。例如,如果你的view model有一個(gè)叫isServre的屬性,

     
     
     
    1. ...

    如果參數(shù)是監(jiān)控屬性observable的,那隨著值的變化將會(huì)自動(dòng)添加或者刪除該元素上的style值。如果不是,那style值將會(huì)只應(yīng)用一次并且以后不在更新。

    你可以使用任何JavaScript表達(dá)式或函數(shù)作為參數(shù)。KO將用它的執(zhí)行結(jié)果來決定是否應(yīng)用或刪除style值。

    其它參數(shù)

    注:應(yīng)用的style的名字不是合法的JavaScript變量命名

    如果你需要應(yīng)用font-weight或者text-decoration,你不能直接使用,而是要使用style對(duì)應(yīng)的JavaScript名稱。

    錯(cuò)誤: { font-weight: someValue }; 正確: { fontWeight: someValue }

    錯(cuò)誤: { text-decoration: someValue }; 正確: { textDecoration: someValue }

    參考:style名稱和對(duì)應(yīng)的JavaScript 名稱列表。

    依賴性

    除KO核心類庫外,無依賴。

    6 attr 綁定

    目的

    attr 綁定提供了一種方式可以設(shè)置DOM元素的任何屬性值。你可以設(shè)置img的src屬性,連接的href屬性。使用綁定,當(dāng)模型屬性改變的時(shí)候,它會(huì)自動(dòng)更新。

    例子

     
     
     
    1.     Report
    2.     var viewModel = {
    3.         url: ko.observable("year-end.html"),
    4.         details: ko.observable("Report including final year-end statistics")
    5.     };

    呈現(xiàn)結(jié)果是該連接的href屬性被設(shè)置為year-end.html, title屬性被設(shè)置為Report including final year-end statistics。

    參數(shù)

    主參數(shù)

    該參數(shù)是一個(gè)JavaScript對(duì)象,屬性是你的attribute名稱,值是該attribute需要應(yīng)用的值。

    如果參數(shù)是監(jiān)控屬性observable的,那隨著值的變化將會(huì)自動(dòng)添加或者刪除該元素上的attribute值。如果不是,那attribute值將會(huì)只應(yīng)用一次并且以后不在更新。

    其它參數(shù)

    注:應(yīng)用的屬性名字不是合法的JavaScript變量命名

    如果你要用的屬性名稱是data-something的話,你不能這樣寫:

     
     
     
    1. ...

    … 因?yàn)閐ata-something 不是一個(gè)合法的命名。解決方案是:在data-something兩邊加引號(hào)作為一個(gè)字符串使用。這是一個(gè)合法的JavaScript 對(duì)象 文字(從JSON技術(shù)規(guī)格說明來說,你任何時(shí)候都應(yīng)該這樣使用,雖然不是必須的)。例如,

     
     
     
    1. ...

    依賴性

    除KO核心類庫外,無依賴。

    #p#

    7 click 綁定

    目的

    click綁定在DOM元素上添加事件句柄以便元素被點(diǎn)擊的時(shí)候執(zhí)行定義的JavaScript 函數(shù)。大部分是用在button,input和連接a上,但是可以在任意元素上使用。

    例子

     
     
     
    1.     You've clicked  times
    2.     Click me
  •     var viewModel = {
  •         numberOfClicks: ko.observable(0),
  •         incrementClickCounter: function () {
  •             var previousCount =this.numberOfClicks();
  •             this.numberOfClicks(previousCount +1);
  •         }
  •     };
  • 每次點(diǎn)擊按鈕的時(shí)候,都會(huì)調(diào)用incrementClickCounter()函數(shù),然后更新自動(dòng)更新點(diǎn)擊次數(shù)。

    參數(shù)

    主參數(shù)

    Click點(diǎn)擊事件時(shí)所執(zhí)行的函數(shù)。

    你可以聲明任何JavaScript函數(shù) – 不一定非要是view model里的函數(shù)。你可以聲明任意對(duì)象上的任何函數(shù),例如: someObject.someFunction。

    View model上的函數(shù)在用的時(shí)候有一點(diǎn)點(diǎn)特殊,就是不需要引用對(duì)象的,直接引用函數(shù)本身就行了,比如直接寫incrementClickCounter 就可以了,而無需寫成: viewModel.incrementClickCounter(盡管是合法的)。

    其它參數(shù)

    注1:傳參數(shù)給你的click 句柄

    最簡單的辦法是傳一個(gè)function包裝的匿名函數(shù):

     
     
     
    1.     Click me

    這樣,KO就會(huì)調(diào)用這個(gè)匿名函數(shù),里面會(huì)執(zhí)行viewModel.myFunction(),并且傳進(jìn)了'param1' 和'param2'參數(shù)。

    注2:訪問事件源對(duì)象

    有些情況,你可能需要使用事件源對(duì)象,Knockout會(huì)將這個(gè)對(duì)象傳遞到你函數(shù)的第一個(gè)參數(shù):

     
     
     
    1.     Click me
    2.  
    3.      var viewModel = {
    4.          myFunction: function (event) {
    5.              if (event.shiftKey) {
    6.                  //do something different when user has shift key down
    7.              } else {
    8.                  //do normal action
    9.              }
    10.          }
    11.      };

    如果你需要的話,可以使用匿名函數(shù)的第一個(gè)參數(shù)傳進(jìn)去,然后在里面調(diào)用:

     
     
     
    1.     Click me

    這樣,KO就會(huì)將事件源對(duì)象傳遞給你的函數(shù)并且使用了。

    注3: 允許執(zhí)行默認(rèn)事件

    默認(rèn)情況下,Knockout會(huì)阻止冒泡,防止默認(rèn)的事件繼續(xù)執(zhí)行。例如,如果你點(diǎn)擊一個(gè)a連接,在執(zhí)行完自定義事件時(shí)它不會(huì)連接到href地址。這特別有用是因?yàn)槟愕淖远x事件主要就是操作你的view model,而不是連接到另外一個(gè)頁面。

    當(dāng)然,如果你想讓默認(rèn)的事件繼續(xù)執(zhí)行,你可以在你click的自定義函數(shù)里返回true。

    注4:控制this句柄

    初學(xué)者可以忽略這小節(jié),因?yàn)榇蟛糠侄加貌恢?,高?jí)用戶可以參考如下內(nèi)容:

    KO在調(diào)用你定義的函數(shù)時(shí),會(huì)將view model傳給this對(duì)象(也就是ko.applyBindings使用的view model)。主要是方便你在調(diào)用你在view model里定義的方法的時(shí)候可以很容易再調(diào)用view model里定義的其它屬性。例如: this.someOtherViewModelProperty。

    如果你想引用其它對(duì)象,我們有兩種方式:

    ◆ 你可以和注1里那樣使用匿名函數(shù),因?yàn)樗С秩我釰avaScript 對(duì)象。

    ◆ 你也可以直接引用任何函數(shù)對(duì)象。你可以使用bind使callback函數(shù)設(shè)置this為任何你選擇的對(duì)象。例如:

     
     
     
    1.     Click me

    如果你是C#或Java開發(fā)人員,你可以疑惑為什么我們還要用bind函數(shù)到一個(gè)對(duì)象想,特別是像調(diào)用someObject.someFunction。 原因是在JavaScript里,函數(shù)自己不是類的一部分,他們?cè)趩为?dú)存在的對(duì)象,有可能多個(gè)對(duì)象都引用同樣的someFunction函數(shù),所以當(dāng)這個(gè)函數(shù)被調(diào)用的時(shí)候它不知道誰調(diào)用的(設(shè)置this給誰)。在你bind之前運(yùn)行時(shí)是不會(huì)知道的。KO默認(rèn)情況下設(shè)置this對(duì)象是view model,但你可以用bind語法重定義它。

    在注1里使用匿名函數(shù)的時(shí)候沒有具體的要求,因?yàn)镴avaScript代碼 someObject.someFunction()就意味著調(diào)用someFunction,然后設(shè)置this到 someObject對(duì)象上。

    注5:防止事件冒泡

    默認(rèn)情況下,Knockout允許click事件繼續(xù)在更高一層的事件句柄上冒泡執(zhí)行。例如,如果你的元素和父元素都綁定了click事件,那當(dāng)你點(diǎn)擊該元素的時(shí)候兩個(gè)事件都會(huì)觸發(fā)的。如果需要,你可以通過額外的綁定clickBubble來禁止冒泡。例如:

     
     
     
    1.     
    2.         Click me
    3.     

    默認(rèn)情況下,myButtonHandler會(huì)先執(zhí)行,然后會(huì)冒泡執(zhí)行myDivHandler。但一旦你設(shè)置了clickBubble為false的時(shí)候,冒泡事件會(huì)被禁止。

    依賴性

    除KO核心類庫外,無依賴。

    #p#

    8 event 綁定

    目的

    event綁定在DOM元素上添加指定的事件句柄以便元素被觸發(fā)的時(shí)候執(zhí)行定義的JavaScript 函數(shù)。大部分情況下是用在keypress,mouseover和mouseout上。

    例子

     
     
     
    1.     
    2.         Mouse over me
    3.     
  •     
  •         Details
  •     
  •     var viewModel = {
  •         detailsEnabled: ko.observable(false),
  •         enableDetails: function () {
  •             this.detailsEnabled(true);
  •         },
  •         disableDetails: function () {
  •             this.detailsEnabled(false);
  •         }
  •     };
  • 每次鼠標(biāo)在第一個(gè)元素上移入移出的時(shí)候都會(huì)調(diào)用view model上的方法來toggle detailsEnabled的值,而第二個(gè)元素會(huì)根據(jù)detailsEnabled的值自動(dòng)顯示或者隱藏。

    參數(shù)

    主參數(shù)

    你需要傳入的是一個(gè)JavaScript對(duì)象,他的屬性名是事件名稱,值是你所需要執(zhí)行的函數(shù)。

    你可以聲明任何JavaScript函數(shù) – 不一定非要是view model里的函數(shù)。你可以聲明任意對(duì)象上的任何函數(shù),例如: event: { mouseover: someObject.someFunction }。

    View model上的函數(shù)在用的時(shí)候有一點(diǎn)點(diǎn)特殊,就是不需要引用對(duì)象的,直接引用函數(shù)本身就行了,比如直接寫event: { mouseover: enableDetails } 就可以了,而無需寫成: event: { mouseover: viewModel.enableDetails } (盡管是合法的)。

    其它參數(shù)

    9 submit 綁定

    目的

    submit綁定在form表單上添加指定的事件句柄以便該form被提交的時(shí)候執(zhí)行定義的JavaScript 函數(shù)。只能用在表單form元素上。

    當(dāng)你使用submit綁定的時(shí)候, Knockout會(huì)阻止form表單默認(rèn)的submit動(dòng)作。換句話說,瀏覽器會(huì)執(zhí)行你定義的綁定函數(shù)而不會(huì)提交這個(gè)form表單到服務(wù)器上??梢院芎玫亟忉屵@個(gè),使用submit綁定就是為了處理view model的自定義函數(shù)的,而不是再使用普通的HTML form表單。如果你要繼續(xù)執(zhí)行默認(rèn)的HTML form表單操作,你可以在你的submit句柄里返回true。

    例子

     
     
     
    1.     ... form contents go here ...
    2.     Submit
    3.     var viewModel = {
    4.         doSomething: function (formElement) {
    5.             // ... now do something
    6.         }
    7.     };

    這個(gè)例子里,KO將把整個(gè)form表單元素作為參數(shù)傳遞到你的submit綁定函數(shù)里。 你可以忽略不管,但是有些例子里是否有用,參考:ko.postJson工具。

    為什么不在submit按鈕上使用click綁定?

    在form上,你可以使用click綁定代替submit綁定。不過submit可以handle其它的submit行為,比如在輸入框里輸入回車的時(shí)候可以提交表單。

    參數(shù)

    主參數(shù)

    你綁定到submit事件上的函數(shù)

    你可以聲明任何JavaScript函數(shù) – 不一定非要是view model里的函數(shù)。你可以聲明任意對(duì)象上的任何函數(shù),例如: submit: someObject.someFunction。

    View model上的函數(shù)在用的時(shí)候有一點(diǎn)點(diǎn)特殊,就是不需要引用對(duì)象的,直接引用函數(shù)本身就行了,比如直接寫submit: doSomething就可以了,而無需寫成: submit: viewModel. doSomething(盡管是合法的)。

    其它參數(shù)

    備注:

    關(guān)于如果傳遞更多的參數(shù)給submit綁定函數(shù),或者當(dāng)調(diào)用非view model里的函數(shù)的時(shí)如何控制this,請(qǐng)參考click綁定。所有click綁定相關(guān)的notes也都適用于submit綁定。

    依賴性

    除KO核心類庫外,無依賴。

    10 enable 綁定

    目的

    enable綁定使DOM元素只有在參數(shù)值為 true的時(shí)候才enabled。在form表單元素input,select,和textarea上非常有用。

    例子

     
     
     
    1.     
    2.     I have a cellphone
    3.     Your cellphone number:
    4.     
    5.  
    6.     var viewModel = {
    7.         hasCellphone: ko.observable(false),
    8.         cellphoneNumber: ""
    9.     };

    這個(gè)例子里,“Your cellphone number”后的text box 初始情況下是禁用的,只有當(dāng)用戶點(diǎn)擊標(biāo)簽 “I have a cellphone”的時(shí)候才可用。

    參數(shù)

    主參數(shù)

    聲明DOM元素是否可用enabled。

    非布爾值會(huì)被解析成布爾值。例如0和null被解析成false,21和非null對(duì)象被解析給true。

    如果你的參數(shù)是observable的,那綁定會(huì)隨著observable值的改變而自動(dòng)更新enabled/disabled狀態(tài)。如果不是,則只會(huì)設(shè)置一次并且以后不再更新。

    其它參數(shù)

    注:任意使用JavaScript表達(dá)式

    不緊緊限制于變量 – 你可以使用任何JavaScript表達(dá)式來控制元素是否可用。例如,

     
     
     
    1.     Do something

    依賴性

    除KO核心類庫外,無依賴。

    11 disable 綁定

    目的

    disable綁定使DOM元素只有在參數(shù)值為 true的時(shí)候才disabled。在form表單元素input,select,和textarea上非常有用。

    disable綁定和enable綁定正好相反,詳情請(qǐng)參考enable綁定。

    #p#

    12 value 綁定

    目的

    value綁定是關(guān)聯(lián)DOM元素的值到view model的屬性上。主要是用在表單控件,