書き途中
<p>First name: <input data-bind="value: firstName" title="個人名を入力してください" /></p>
<p>Last name : <input data-bind="value: lastName" title="姓を入力してください" /></p>
<p>Full name : <strong data-bind="text: fullName"></strong></p>
<button data-bind='click: registerClick, disable: isEnableRegister'>Search</button>
ko.applyBindings({
firstName : ko.observable('Bert'),
lastName : ko.observable('Simpson'),
fullName : ko.computed(function() {
return this.firstName() + " " + this.lastName()
}, this),
registerClick : function() {
// submit entry
},
isEnableRegister : ko.computed(function(){
return '' === this.firstName() || '' === this.lastName();
}, this)
});
<elem data-bind="?"></elem> | view model属性 | 機能 |
visible : p | p : boolean | 表示/非表示切り替え。elem.style.display='block/none' |
text : p | p : string | elem.innerText(p) |
html : p | p : string | elem.innerHtml(p) |
css : {class1 : p1, class2 : p2} | p : boolean | css class の適用/非適用の切り替え。data-bind 属性には式を書ける "css : {deficit : profit() < 0}" も OK |
style : {style1 : p1, style2 : p2} | p : string | style の設定。data-bind 属性には式を書ける "style : {color : profit() < 0 ? 'red' : 'green'}" も OK |
attr : {arrt1 : p1, arrt2 : p2} | p : string | attribute の設定 |