Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 源数组更新后,敲除下拉列表不更新_Arrays_Foreach_Knockout.js_Dropdown - Fatal编程技术网

Arrays 源数组更新后,敲除下拉列表不更新

Arrays 源数组更新后,敲除下拉列表不更新,arrays,foreach,knockout.js,dropdown,Arrays,Foreach,Knockout.js,Dropdown,我有一个从视图模型的可观察数组填充的下拉列表。有一个按钮是绑定到函数的数据,该函数从数组中删除一个元素。单击该按钮时,数组将执行shift以删除元素。但是,下拉列表并不反映更改和下拉值没有更改 html: 你可以在这里看到混乱的情况: 我想我错过了一些愚蠢的事情。有人知道我遗漏了什么吗?如果您查看文档,在中,您可以阅读以下内容: 弹出、推送、移位、取消移位、反转、排序、拼接 所有这些函数都相当于在底层数组上运行本机JavaScript数组函数,,然后将更改通知侦听器 当您这样做时: me.t(

我有一个从视图模型的可观察数组填充的下拉列表。有一个按钮是绑定到函数的数据,该函数从数组中删除一个元素。单击该按钮时,数组将执行shift以删除元素。但是,下拉列表并不反映更改和下拉值没有更改

html:

你可以在这里看到混乱的情况:


我想我错过了一些愚蠢的事情。有人知道我遗漏了什么吗?

如果您查看文档,在中,您可以阅读以下内容:

弹出、推送、移位、取消移位、反转、排序、拼接

所有这些函数都相当于在底层数组上运行本机JavaScript数组函数,,然后将更改通知侦听器

当您这样做时:

me.t().groups()
您正在基础阵列上操作,然后:

me.t().groups().shift();
它可以正常工作,但是您不需要通知侦听器更改,html中也没有任何更改

你可以这样写:

me.t().groups.shift();

也就是说,调用可观察数组中的Knockout提供的
shift()
方法。请注意,
没有括号。

我知道这是我做错的愚蠢的事情。卓越!一点也不!!:-)
me.t().groups().shift();
me.t().groups.shift();