Arrays 源数组更新后,敲除下拉列表不更新
我有一个从视图模型的可观察数组填充的下拉列表。有一个按钮是绑定到函数的数据,该函数从数组中删除一个元素。单击该按钮时,数组将执行shift以删除元素。但是,下拉列表并不反映更改和下拉值没有更改 html: 你可以在这里看到混乱的情况:Arrays 源数组更新后,敲除下拉列表不更新,arrays,foreach,knockout.js,dropdown,Arrays,Foreach,Knockout.js,Dropdown,我有一个从视图模型的可观察数组填充的下拉列表。有一个按钮是绑定到函数的数据,该函数从数组中删除一个元素。单击该按钮时,数组将执行shift以删除元素。但是,下拉列表并不反映更改和下拉值没有更改 html: 你可以在这里看到混乱的情况: 我想我错过了一些愚蠢的事情。有人知道我遗漏了什么吗?如果您查看文档,在中,您可以阅读以下内容: 弹出、推送、移位、取消移位、反转、排序、拼接 所有这些函数都相当于在底层数组上运行本机JavaScript数组函数,,然后将更改通知侦听器 当您这样做时: me.t(
我想我错过了一些愚蠢的事情。有人知道我遗漏了什么吗?如果您查看文档,在中,您可以阅读以下内容: 弹出、推送、移位、取消移位、反转、排序、拼接 所有这些函数都相当于在底层数组上运行本机JavaScript数组函数,,然后将更改通知侦听器 当您这样做时:
me.t().groups()
您正在基础阵列上操作,然后:
me.t().groups().shift();
它可以正常工作,但是您不需要通知侦听器更改,html中也没有任何更改
你可以这样写:
me.t().groups.shift();
也就是说,调用可观察数组中的Knockout提供的
shift()
方法。请注意,组
没有括号。我知道这是我做错的愚蠢的事情。卓越!一点也不!!:-)
me.t().groups().shift();
me.t().groups.shift();