Knockout.jsのViewModel間でデータのやりとりを行う方法

www.wrapcode.com

Knockout.jsで別々のViewModel間でデータのやりとりを行う方法がわからなかったので
調べた所、上記のサイトに各種方法が書いてあった。

"ko.subscribable"というfunctionがnativeであるけれど詳しいドキュメントは
ないらしい。
このfunctionを使う方法もあるが、"knockout-postbox"という拡張を使うと
もう少しシンプルに書ける。

GitHub - rniemeyer/knockout-postbox: A small library that uses Knockout's native pub/sub capabilities to facilitate decoupled communication between separate view models or components.

サンプルとして記載されていたコードが動かなかった(jsfiddleでの外部コード読み込みが"https"のみ対応となったため)ので自分でCodePenに書いてみた。

See the Pen knockout.js multiple view model 2(Pub-sub) by tamoriinu (@yokoyama) on CodePen.