gpt4 book ai didi

javascript - 使用 KnockoutJS 计算的数组 - 抛出未定义的错误

转载 作者:行者123 更新时间:2023-11-30 08:55:58 25 4
gpt4 key购买 nike

我有一个看起来像这样的 View 模型:

    var viewModel = {

name: results.name,
members: ko.observableArray([]),
users: ko.computed(function () {
return ko.utils.arrayFilter(members(), function (item) {
return (item.type == 'User');
});
}),
groups: ko.computed(function () {
return ko.utils.arrayFilter(members(), function (item) {
return (item.type == 'Group');
});
})
};

但是,我在 computed 部分遇到错误:

Uncaught ReferenceError: members is not defined

这是真的 - 在声明 viewModel 时,成员不包含任何内容。

我怎样才能克服这个问题?

最佳答案

如果 members() 是指对象的第二个属性:

var viewModel = {
name: results.name,
members: ko.observableArray([])
};

viewModel.users = ko.computed(function () {
return ko.utils.arrayFilter(viewModel.members(), function (item) {
return (item.type == 'User');
});
});
viewModel.groups = ko.computed(function () {
return ko.utils.arrayFilter(viewModel.members(), function (item) {
return (item.type == 'Group');
});
});

注意:

  • 您不能在文字定义中引用同一对象的另一个属性。这就是我将定义分为 3 个部分的原因。

  • members() 替换为 viewModel.members()

关于javascript - 使用 KnockoutJS 计算的数组 - 抛出未定义的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13564773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com