根据 属性 名称动态可观察的 Knockout 访问

Knockout access observable dynamically based on property name

我有一个带有 属性 作为可观察对象的视图模型。 我有一个 属性 名称和从服务器端验证返回的错误列表。我需要根据 属性 名称访问可观察对象并设置错误。我想让这个通用。

视图模型:

var model = ko.validatedObservable({reason: ko.observable()});

我需要做这样的事情:

var propName = "reason";
model[propName]("Something random");

我可以通过这种方式动态访问可观察对象吗? (不起作用)。

这样想:'model' 是一个加载了对象的可观察变量。这表明我们应该先读取可观察对象,然后访问对象 属性:

var model = ko.validatedObservable({ reason: ko.observable() });
var propName = "reason";
model()[propName]("Something random");

注意我正在读取模型作为可观察对象 (model()),然后访问对象 属性 (model()[propName])。