代碼波紋管是應該做到以下幾點:如何使knockoutJS實時響應屬性更改?
- 當我輸入一個新的名字,它會告訴我「歡迎:XXX」的跨度。
- 當我刪除文本框中的所有字符時,跨度中將不顯示任何內容。
問題是,當我刪除一個單詞(假設文本框的值是「Bill Gates」,默認情況下),我刪除了「Gates」,我希望span實時顯示「Bill」我離開了這個領域。
那麼如何讓KnockoutJS支持「Real Time」屬性更改?我希望看到跨度在我輸入時發生變化,而不是在離開文本框或按下「Enter」鍵時。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Knock Out Sample</title>
</head>
<body>
Your Name, please: <input type="text" data-bind="value: myName" />
<br />
<span data-bind="text: myNameShown, visible: showWelcome" id="spName"></span>
</body>
<script src="KnockOutJS.js" type="text/javascript"></script>
<script type="text/javascript">
var model = {
myName: ko.observable("Bill Gates")
};
model.myNameShown = ko.dependentObservable(function() {
return "Welcome: " + model.myName();
}, model);
model.showWelcome = ko.dependentObservable(function() {
return model.myName() && model.myName().trim() != "";
}, model);
ko.applyBindings(model);
</script>
</html>
參閱本http://knockoutjs.com/documentation/ value-binding.html。歡呼 –