knockout.js 如何在一个knockout JS变量中分配未定义的值?

cuxqih21  于 2022-11-10  发布在  其他
关注(0)|答案(3)|浏览(151)

我有两个下拉列表和一个结果列表,其中绑定使用了计算可观测函数,如下所示:

self.Records = ko.computed(function() {
                    if (self.dropdown1 !== undefined) {
 ...
                        return Collection[0];
                    }

                    if (self.dropdown2() != undefined) {
                     ...
                        return Collection[0];
                    }
                });

但我的问题是,当我改变dropdownlist2的值时,我需要在defined中设置self.dropdown1的值,因为我的记录集合可以改变。
我用jquery修改第一个下拉列表的值,如下所示:

$('#reportTypeSelection').prop('selectedIndex', 0);

但是装订不清爽,有什么建议吗?

wqsoz72f

wqsoz72f1#

我认为您不应该使用jQuery来编写逻辑。下面是一个示例,说明如何在视图模型中使用不了解逻辑的视图来编写逻辑。
第一个

pkwftd7m

pkwftd7m2#

你可以写更多的代码来帮助我们理解你在做什么。我假设你想在改变dropdown2的时候改变dropdown1的值。如果我是对的,你可以使用change event来完成。
第一个

cigdeys3

cigdeys33#

OP问题是:“如何为knockout JS变量分配未定义的值?"。我在这里读到的其他答案并没有明确回答这个问题。
我认为在过去,someObservable(undefined)可能会做与someObservable()完全相同的事情,返回可观察的值。然而,在最近的Knockout版本(在3.4.2上测试)中,该语法确实可以重置可观察的值。
通过运行此脚本亲自查看。
第一个

相关问题