0

これを行うより簡単な方法はありますか:

 <div data-bind="css: { high: selectedPriority() == 1, medium: selectedPriority() == 2}">

最大 6 つのステップがありますか? 代わりに、属性クラスをバインドし、穴クラス リストを js で記述します。

4

1 に答える 1

0

Knockout 2.2 (2012 年 10 月 18 日時点の RC) では、cssバインディングに設定するクラスを指定できます。

<div data-bind="css: priorityClass"></div>

priorityClass次に、ビューモデルで計算されたオブザーバブルにすることができます:

vm.priorityClasses = {1:'high', 2:'medium' /*...*/};
vm.priorityClass = ko.computed(function() {
    return this.priorityClasses[this.selectedPriority()];
}, vm);

計算されたオブザーバブルが必要ない場合は、そのロジックをバインディングに直接配置できます。

<div data-bind="css: priorityClasses[selectedPriority()]"></div>

2.2 がリリースされるまでは、代わりにクラス カスタム バインディングを使用できます。

于 2012-10-19T00:35:09.270 に答える