我有这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
和observable 属性之间存在绑定,这是在绑定上下文中,它是 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 中编译。
谢谢