1、knockout簡介
knockout是一個輕量級的UI類庫,通過MVVM模式使JavaScript前端UI簡單化
knockout有四大重要概念:
1)聲明式綁定:使用簡明移讀的語法很容易地將模型(model)數據關聯到dom元素上。
2)UI界面自動刷新:當寧的模型狀態(model state)改變時,您的UI將自動更新
3)依賴跟蹤:為轉變和聯合數據,在你的模型數據之間隱式建立關系
4)模板:為你的模型數據快速編寫復雜的可嵌套的UI
2、knockout特性和好處
特性:
優雅的依賴跟蹤
聲明式綁定
靈活全面的模板
輕易可擴展
好處:
純javascript類庫(兼容任何服務器端和客戶端技術)
可添加到web程序最上部(不需要大的架構改變)
簡潔的
兼容任何主流瀏覽器
3、如何使用knockout
聲明你的數據作為一個javascript模型對象(model object),然后dom元素或者模板(templates)綁定到它上面。
下面簡介怎樣簡單使用knockout.js例子
1、現在官網下載最新的knockout.js, 地址: http:www.knockoutjs.com
2、引入knockout.js應注意那些問題
1)用標簽<script> src屬性引入路徑下的knockout.js
2)<script type="text/javascript" src = "js/knockout.js">內容</script>整個放在html文本后面,卸載head里面讀取不到js,所以 綁定不到值
3)下面是聲明式綁定的一個小例子
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>knockout的用法</title>
</head>
<body>
用戶名稱:<span id="username" data-bind="text:username"></span><br/>
用戶密碼:<span id="password" data-bind="text:password"></span><br/>
郵箱地址:<span id="email" data-bind="text:email"></span><br/>
用戶住址:<span id="address" data-bind="text:address"></span><br/>
商品名稱:<span id="prodName"></span><br/>
</body>
</html>
<script type="text/javascript" src="js/knockout-3.4.0.js"></script>
<script type="text/javascript">
document.getElementById("prodName").innerHTML="護目鏡";
//聲明的一個javascript模型對象,對應webform中的類對象
var testjson = {
username:"zhangsan",
password:"1234567",
email:"zhangsan@123.com",
address:"廣州天河區"
};
ko.applyBindings(testjson);
</script>
舊的賦值是用document文檔對象賦給某個標簽的值
用knockout.js方法直接綁定模型對象中的id就行了
運行后的效果也是一樣的
當模型對象改變時,UI界面會自動更新
綁定對應的值會自動更新為