0

我有像这样的淘汰赛可观察数组

var viewModel={
       people : ko.observableArray([
            { name: 'Bert' },
            { name: 'Charles' },
            { name: 'Denise' }
        ])};
 ko.applyBindings(viewModel);

使用 foreach 绑定我已经在表中显示了数组现在我想使用数组索引动态更改表的第一行我尝试过(viewModel.people.name[0]("new value");它不起作用

有任何想法吗?

4

1 回答 1

0

observableArray 实际上是一个带有额外的类似数组功能的 observable,而不是一个普通的 javascript 数组。所以要进入你的数组,你需要先解决 observable :

viewModel.people()[0].name = "new value";

编辑

如果您希望数组中某个对象的 .name 属性的更改触发对页面的修改,则该属性也需要是可观察的。像这样的东西:

var viewModel={
    people : ko.observableArray([
        { name: ko.observable('Bert') },
        { name: ko.observable('Charles') },
        { name: ko.observable('Denise') }
    ])};

// Update:
viewModel.people()[0].name("new value");
于 2013-08-08T14:44:15.743 回答