監視可能な配列の微風エンティティである複数のプロジェクトをリストするページがあります。foreach ループを使用して、プロジェクトの状況に応じてラベルの CSS を変更したいと考えています。
私は Breeze を使用しているためvar projects = ko.observableArray();
、関連するエンティティ (projectStatus) からの値を含め、残りは私が定義し、breeze が処理します。foreach: projects
スタイルを設定しようとしている要素は、リスト内に存在し、バインディングがdata-bind="text: projectStatus().name
. これは完全に機能します。ただし、CSS 値のビューモデルで計算されたオブザーバブルをコーディングすると、3 行目 (以下) で未定義のエラーが発生します。それ以外の場合 (および私がチェックした)、有効な文字列を返す場合、関数は CSS で機能します。
projectStatusStyle = ko.computed(function () {
var x = "left label label-large label-info";
var projStatus = projects().projectStatus().name();
var style = "left label label-large label-"
switch (projStatus) {
case 'Live':
x = style + "success";
break;
case 'Identified':
x = style + "info";
break;
case 'In conversation':
x = style + "purple";
break;
case 'Complete':
x = style + "grey";
break;
case 'Unsuccessful':
x = style + "yellow";
break;
}
return x;
},vm);
私の質問は、projects().projectStatus().name(); をどのように参照すればよいかということです。観測値?
ありがとう