「Knockout.js/visibleバインディング」の版間の差分

imported>Administrator
ページの作成:「Knockoutの'''visible'''バインディングとは、DOM要素に結び付けられたモデルの値に応じて、DOM要素が表示または非表示になる...」
 
imported>Administrator
2行目: 2行目:


== パラメーター ==
== パラメーター ==
値がfalse系の場合には、domElement.style.displayにnoneに設定し、項目を非表示にする。
値がfalse系(false、数字の「0」、null、undefined)の場合には、domElement.style.displayにnoneに設定し、項目を非表示にする。
* false系の値について
** false
** 数字の「0」
** null
** undefined


値がtrue系の場合には、domElement.style.displayを削除し、項目を非表示にする。
値がtrue系(true、非nullのオブジェクト、配列)の場合には、domElement.style.displayを削除し、項目を非表示にする。
* true系の値について
** true
** 非nullのオブジェクト
** 配列は中身に関係なくtrue扱い


[[JavaScript]]で動的に上書きするので、あらかじめ[[CSS]]で設定したスタイルよりも優先されるので注意すること。
[[JavaScript]]で動的に上書きするので、あらかじめ[[CSS]]で設定したスタイルよりも優先されるので注意すること。
非表示から表示になる際は「スタイル設定の削除」なので、たとえばdivのstyle.displayにinlineを設定していると、divのstyle.displayのデフォルト値であるblockになってしまう。
非表示から表示になる際は「スタイル設定の削除」なので、たとえばdivのstyle.displayにinlineを設定していると、divのstyle.displayのデフォルト値であるblockになってしまう。
[[Knockout/observable]]でない値をバインディングした場合は、バインディング実行時([[Knockout/applyBindings]]実行時)に1回だけ更新されて以降は更新されない。
[[Knockout/observable]]でない値をバインディングした場合は、バインディング実行時([[Knockout/applyBindings]]実行時)に1回だけ更新されて以降は更新されない。