0

有一个字符串数组和一个输入元素。我想根据条件使用该输入元素编辑任何数组成员。

如何实现这样的目标:

mymodel.setActiveArrayMember(1)
// now input is bound to an array member 1

mymodel.setActiveArrayMember(5)
// now input is bound to an array member 5

etc.
4

1 回答 1

1

您可以将活动成员设置为计算的 observable:

var activeArrayMember = ko.computed(function()
{
    read: function()
    {
        return array()[activeIndex()];
    }
    write: function (value)
    {
        array()[activeIndex()] = value;
        array.valueHasMutated();
    }
});

这是假设您的数组是一个可观察的数组。()如果不是,就输掉。然后为活动成员的索引设置一个 observable,并在您想要更改成员时设置它:

activeIndex(5);

将您的 html 绑定到 activeArrayMember,它应该可以正常工作。

于 2013-03-18T09:09:05.447 回答