【问题标题】:Pushing a knockout observable into a knockout observable array将淘汰赛 observable 推入淘汰赛 observable 数组
【发布时间】:2013-04-10 11:31:41
【问题描述】:

由于淘汰的可观察数组仅在更改数组中的元素时才更新,如果该元素本身是可观察的,我试图将一个元素“推”到可观察的数组中,但使其可观察。我尝试了以下语句,但都导致在我的可观察数组中有一个未定义的值:

viewModel.myObservableArray.push(ko.observable());

viewModel.myObservableArray.push(new ko.observable());

正确的方法是什么?

【问题讨论】:

  • 这不是真的。当添加或删除可观察数组中的元素时,可观察数组会更新(元素本身不必是可观察的)。如果要推送可观察对象,则需要执行 viewModel.myOBservableArray.push(ko.observable('some value')) 如果它是字符串或 viewModel.MyObservableArray.push(ko.observable({id: 1, name: '某事'}))

标签: knockout.js knockout-2.0 ko.observablearray


【解决方案1】:

将你试图放入模型的对象变成这样的对象

function MyObject(initValuye){
var self = this;
    var value = ko.observable(initValuye);
}

在你的模型中

viewModel.myObservableArray.push(new MyObject(someValue));

【讨论】:

  • 谢谢,这确实有效,但我试图在不必制作对象的情况下做到这一点。
【解决方案2】:

你也可以这样试试

viewModel.myObservableArray.push(ko.observable("Test"));

viewModel.myObservableArray.push(new ko.observable("Test"));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 2019-06-02
    • 1970-01-01
    相关资源
    最近更新 更多