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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Knockout中Observables有什么用

這篇文章主要介紹了Knockout中Observables有什么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1 創(chuàng)建帶有監(jiān)控屬性的view model

Observables

Knockout是在下面三個(gè)核心功能是建立起來的:

◆ 監(jiān)控屬性(Observables)和依賴跟蹤(Dependency tracking)

◆ 聲明式綁定(Declarative bindings)

◆ 模板(Templating)

這一節(jié),你講學(xué)到3個(gè)功能中的***個(gè)。 在這之前, 我們來解釋一下MVVM模式和view model的概念。

MVVM and View Models

Model-View-View Model (MVVM) 是一種創(chuàng)建用戶界面的設(shè)計(jì)模式。 描述的是如何將復(fù)雜的UI用戶界面分成3個(gè)部分:

◆ model: 你程序里存儲(chǔ)的數(shù)據(jù)。這個(gè)數(shù)據(jù)包括對(duì)象和業(yè)務(wù)操作(例如:銀子賬戶可以完成轉(zhuǎn)賬功能), 并且獨(dú)立于任何UI。使用KO的時(shí)候,通常說是向服務(wù)器調(diào)用Ajax讀寫這個(gè)存儲(chǔ)的模型數(shù)據(jù)。

◆ view model: 在UI上,純code描述的數(shù)據(jù)以及操作。例如,如果你實(shí)現(xiàn)列表編輯,你的view model應(yīng)該是一個(gè)包含列表項(xiàng)items的對(duì)象和暴露的add/remove列表項(xiàng)(item)的操作方法。

注意這不是UI本身:它不包含任何按鈕的概念或者顯示風(fēng)格。它也不是持續(xù)數(shù)據(jù)模型 – 包含用戶正在使用的未保存數(shù)據(jù)。使用KO的時(shí)候,你的view models是不包含任何HTML知識(shí)的純JavaScript 對(duì)象。保持view model抽象可以保持簡(jiǎn)單,以便你能管理更復(fù)雜的行為。

◆ view: 一個(gè)可見的,交互式的,表示view model狀態(tài)的UI。 從view model顯示數(shù)據(jù),發(fā)送命令到view model(例如:當(dāng)用戶click按鈕的時(shí)候) ,任何view model狀態(tài)改變的時(shí)候更新。

使用KO的時(shí)候,你的view就是你帶有綁定信息的HTML文檔,這些聲明式的綁定管理到你的view model上?;蛘吣憧梢允褂媚0鍙哪愕膙iew model獲取數(shù)據(jù)生成HTML。

創(chuàng)建一個(gè)view model,只需要聲明任意的JavaScript object。例如:

var myViewModel = {      personName: 'Bob',      personAge: 123  };

你可以為view model創(chuàng)建一個(gè)聲明式綁定的簡(jiǎn)單view。例如:下面的代碼顯示personName 值:

The name is 

Activating Knockout

data-bind屬性盡快好用但它不是HTML的原生屬性(它嚴(yán)格遵從HTML5語(yǔ)法, 雖然HTML4驗(yàn)證器提示有不可識(shí)別的屬性但依然可用)。由于瀏覽器不識(shí)別它是什么意思,所以你需要激活Knockout 來讓他起作用。

激活Knockout,需要添加如下的