私はこのTypeScript
クラスを持っています
export class MyItem {
public name: any;
public active: any;
constructor(private root: MyViewModel, public id: number, name, active) {
this.name = ko.observable<string>(name);
this.active = ko.observable<bool>(active);
this.active.subscribe(() => {
root.Update(this);
});
}
}
以下のように、入力チェックボックスの監視可能なプロパティchecked
との間にバインディングがある場所で使用されています。これは、parent のプロパティであるバインディング コンテキスト内にあります。active
foreach
Items
MyViewModel
<div class="row" data-bind="visible: ItemsExist" style="display: none">
<div class="col-md-12">
<table class="item-list" data-bind="foreach: Items">
<tr>
<td>
<input type="checkbox" data-bind="checked: active" />
<span data-bind="text: name, css: { disabled: !active() }"></span>
</td>
<td><input type="button" value="Delete" data-bind="click: $parent.Delete.bind($parent)" /></td>
</tr>
</table>
</div>
</div>
コンストラクターで参照を渡すことなく、各アイテムのオブザーバブルでサブスクライブされたイベントにコンテキストをMyItem
渡すことができるように、このクラスを変更するにはどうすればよいですか?$parent
active
MyViewModel
TypeScript でコンパイルすることもできます。
ありがとう