ko コンポーネントを使用して変換したい Web アプリと SPA があります。ある種のコンポーネント間通信をどのように行うのだろうか。
たとえば、すべてのコンポーネントが通知を送信できる「通知」コンポーネントが必要です。
メイン ビュー モデルで監視可能な配列を共有することで、解決策を見つけることができました。
var VM = function() {
var self = this;
this._notifications = ko.observableArray([]);
this.notifications = {
addInfo: function(text){
self._notifications.push(text);
}
}
}
と
<comp1 params="{app: $data}"></comp1><br/>
<comp2 params="{app: $data}"></comp2><br/>
<notif params="{app: $data}"></notif>
ここを参照してください: http://jsfiddle.net/nveron/j4829y7p/
私はこのソリューションに完全に満足しているわけではありません。通知データを通知コンポーネントに保持したかったのです。
それに対処するアイデアはありますか?