我知道您使用paranthesis在knockoutjs爲FF: *代碼Unrapping觀察到的功能 *潛水與聲明對象結合何時在knockoutJS中使用括號?
,或者當你有一個對象的人與前某些屬性: * 。人()姓 *人() 年齡(最右邊的屬性不需要括號)
現在我有這樣的HTML/JS的:
<section>
<label>
<input data-bind="checked: displayGuitars" type="checkbox" />
Display Guitars
</label>
<div data-bind="fadeVisible: displayGuitars(), fadeDuration: 250">
<ul data-bind="foreach: products">
<li>
<span data-bind="text: model"></span>
</li>
</ul>
</div>
<div data-bind="dump: $data, enable: false"></div>
</section>
<script>
..................................some code
ko.bindingHandlers.fadeVisible = {
init: function (element, valueAccessor) {
// Start visible/invisible according to initial value
var shouldDisplay = valueAccessor();
$(element).toggle(shouldDisplay);
},
update: function (element, valueAccessor, allBindingsAccessor) {
// On update, fade in/out
var shouldDisplay = valueAccessor(),
allBindings = allBindingsAccessor(),
duration = allBindings.fadeDuration || 500; // 500ms is default duration unless otherwise specified
shouldDisplay ? $(element).fadeIn(duration)
: $(element).fadeOut(duration);
}
};
var vm = (function() {
var data = mockdata.getProducts();
var products = ko.observableArray(data);
var displayGuitars = ko.observable(false);
var vm = {
displayGuitars: displayGuitars,
products: products
};
return vm;
})();
ko.applyBindings(vm);
</script>
所以基本上它做的是div與fadeVisible綁定切換顯示/隱藏取決於是否選中複選框,我試圖刪除<div data-bind="fadeVisible: displayGuitars(), fadeDuration: 250">
括號,然後突然fadeVisible停止工作,該div不再顯示/隱藏時我選中/取消選中複選框。我的問題是爲什麼我需要在div中使用fadeVisible綁定的括號,並且如果它確實落在我上面提到的那個標準中的哪一個上?
先生/女士,你的回答會有很大的幫助。謝謝++
指出,謝謝:D –