KnockoutjsのViewModelとかデバッグ中に参照したくなるわけですが、
たいていconsoleとかからはインスタンスの変数はどっかのスコープで隠れてて見えない。
でも、なんとかしたい。そんな時。
contextFor
ko.contextFor(<element>)
で、バインドされてるcontextが取れる。
$root
ko.contextFor(<element>).$root
すれば、applyBindingに渡したViewModelが取れる。
chromeでデバッグ中に便利な$0
devツールでelementを選択している状態で、
consoleで $0
だけ打ってみるとそのDOM要素の参照が取得できる。
なので、デバッグ中は
ko.contextFor($0).$root
こうしてViewModelを取ると楽。
contextForを知るまで
debug版使ってる時は
ko.storedBindingContextForNode(<element>)
で取れてた。
min にした時は
var vm = new ViewModel();
window.vm = vm;
をデバッグ時だけ埋め込んでた。
もちろんcommitとかはしない。