私は観測可能な配列を持っていitems
ます。ナビゲーションを形成する順序付けられていないリストが生成されます。クリックした項目にクラスを適用し、active
他のすべての項目から削除したい。static を設定しようとしましたcss: { active: true }
がactive
、アイテムの実際のプロパティではないため、実装方法がわかりません。
クラスをアイテム配列に関連付けたくないためactive
、必要に応じてDOMで変更するだけであるため、これを非観測値と呼びました。
<ul id='nav' data-bind="foreach: items">
<li data-bind="css: {selected: false}">
<a data-bind="text: name, click: click_nav"></a>
</li>
</ul>
そしてKO...
function AppViewModel() {
this.items = ko.observableArray([
{ name: 'Course 1' }
]);
select_course = function select_course(){
// set class `active` for this
}
}
ko.applyBindings(new AppViewModel());