ビューがアクティブ化されたときに (Durandal の activate() 関数で)、Breeze を使用して WebAPI からデータを取得する次の監視可能な配列があります。
var prices = ko.observableArray();
price クラスには、id、name、および price の 3 つの属性があります。
次に、次の配列があります。
var services = [{
active: true,
name: 'Service1',
price: getPrice('Service1')
}, {
active: true,
name: 'Service2',
price: getPrice('Service2')
}];
getPrice(name) 関数がすべきことは、パラメータとして渡された名前を持つオブジェクトを取得することです...
ビューで次のことができるようにしたい:
<div class="services">
<ul data-bind="foreach: services">
<li data-bind="visible: active, text: name + ' ($' + price.price + ')'"></li>
</ul>
</div>
私は StackOverflow で多くのことを検索し、さまざまな方法でこれを実行しようとしましたが、機能させることができませんでした。ko.utils.arrayFirst()、ko.computed() を使用する必要があるかどうか、または何をすべきかわかりません..多くのアプローチを試しましたが、成功しませんでした。