アイテムのコレクションがあり、既に選択されているアイテムを参照したいだけです。
<ul data-bind="foreach: items">
<li><a data-bind="click: $root.select"><span data-bind="text: name"></span></a></li>
</ul>
<div data-bind="with: selectedItem">
<h1 data-bind="text: name"></h1>
</div>
self.items = ko.observableArray([
{ name: "Bungle", type: "Bear" },
{ name: "George", type: "Hippo" },
{ name: "Zippy", type: "Unknown" }
]);
self.select = function (item) {
location.hash = "Action/" + item.name;
}
self.selectedItem = ko.observable();
私の申請者の場合、selectedItem を持つ div にそれ自体を更新するように指示する何かを行う必要があります。
私は valueHasMutated(); を試しました。しかし、うまくいきません。
サンプルコード: https://skydrive.live.com/redir?resid=33048714B5BF3B4B!913
再現する手順:
- リストされた項目 (項目 1、項目 2、項目 3) のいずれかの下にある「サブ項目」を選択します。
- ラベル付けされたサブアイテムのいずれかを選択します (サブアイテム 1、サブアイテム 2)
- 部分ビューは、「サブアイテム {x}」と「次のビュー」リンクで表示されます
- 「次のビュー」リンクをクリックします。
- 「次の部分図」が表示されます。
- 戻るボタンを押します。
私がやろうとしているのは、サブアイテムをロードして「サブアイテム1」ビューを選択することです。