ノックアウト js で ff に括弧を使用していることは承知しています。
または、次のような特定のプロパティを持つオブジェクト person がある場合: * person().firstname * person().age (一番右のプロパティには括弧は必要ありません)
今、私はこの種の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>
したがって、基本的には、チェックボックスがチェックされているかどうかに応じて、fadeVisibleバインディングを含むdivの表示/非表示が切り替えられます。括弧を削除しようとする<div data-bind="fadeVisible: displayGuitars(), fadeDuration: 250">
と、突然fadeVisibleが機能しなくなり、チェック時にdivが表示/非表示になりません/チェックボックスをオフにします。私の質問は、fadeVisible バインディングを使用して div に括弧が必要な理由と、上記の基準のいずれかに該当する場合、それはどれですか?
閣下/奥様、あなたの答えは大変役に立ちます。ありがとう++