这是一个非常利基的场景,理想情况下我需要能够绑定一个属性,但能够知道该属性在根视图模型中的位置。
例如,假设我有对象:
{
id: ko.observable(1),
name: ko.observable("some user"),
groups: [
{ id: ko.observable(1), name: ko.observable("some group") },
{ id: ko.observable(2), name: ko.observable("some group") },
]
}
现在的问题是,如果我有这样的绑定:
<div>
<!-- ko foreach: groups -->
<input data-bind="value: name, custom-binding: { property: name, other: foo }" />
<!-- /ko -->
</div>
现在我需要能够在name
这里解决rootModel.groups[currentIndex].name
反对只是name
。目前我认为没有办法在绑定中知道属性是"name"
因为它只看到值,所以我可能需要将它作为字符串传递,或者在绑定看起来的对象上有一个自定义属性为了。无论哪种方式,我都需要能够以某种方式获取绑定范围内每个可观察对象(与其范围内应用的 rootModel 相关)的属性路径。
我知道这看起来很疯狂,而且确实如此,但如果可能的话,这仍然是我需要做的事情。所以 foreach 只是子绑定范围发生变化并被包装的一种场景,因此对于所有场景,我需要能够构建一个property-path
用于此自定义绑定的 for 属性。
那么有没有办法做到这一点?