Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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
Javascript 使用角度填充要下拉的大数组列表_Javascript_Angularjs - Fatal编程技术网

Javascript 使用角度填充要下拉的大数组列表

Javascript 使用角度填充要下拉的大数组列表,javascript,angularjs,Javascript,Angularjs,我面临一个问题。我收集了一组大小约为22K的记录。我需要将其绑定到select元素。绑定对于小集合来说效果很好,但如此大的集合会冻结UI,直到其绑定完成 请建议我在这里能做的最好的….首先想到的是使用单向数据绑定。这是通过在HTML变量前面添加:来实现的,如下所示 {{::someVar}} 这样,angular将不会在其观察程序中包含someVar 如果这对你来说还不够,那么你可以考虑编写一个特殊类型的选择< /COD>为你自己的目的,它可以使用它后面的东西。p> ClusterizeJS只

我面临一个问题。我收集了一组大小约为22K的记录。我需要将其绑定到select元素。绑定对于小集合来说效果很好,但如此大的集合会冻结UI,直到其绑定完成


请建议我在这里能做的最好的….

首先想到的是使用
单向数据绑定。这是通过在HTML变量前面添加
来实现的,如下所示

{{::someVar}}
这样,angular将不会在其
观察程序中包含
someVar

如果这对你来说还不够,那么你可以考虑编写一个特殊类型的<代码>选择< /COD>为你自己的目的,它可以使用它后面的东西。p>


ClusterizeJS
只允许在屏幕上渲染少数元素并在滚动上重新渲染,这样用户永远不会知道
select
中并非所有元素都已存在。将此与
搜索栏
结合使用,您将获得一个非常快速的
选择

首先想到的是使用
单向数据绑定
。这是通过在HTML变量前面添加
来实现的,如下所示

{{::someVar}}
这样,angular将不会在其
观察程序中包含
someVar

如果这对你来说还不够,那么你可以考虑编写一个特殊类型的<代码>选择< /COD>为你自己的目的,它可以使用它后面的东西。p>


ClusterizeJS
只允许在屏幕上渲染少数元素并在滚动上重新渲染,这样用户永远不会知道
select
中并非所有元素都已存在。将其与
搜索栏
相结合,您就可以快速地选择

一般来说,用如此大量的记录填充
元素是不明智的。无论您使用的是哪种框架,这都适用(尽管角度和双向数据绑定尤其糟糕)

如果您希望用户能够从大量选项中进行选择,我建议使用“自动完成”风格的界面,用户键入几个字符,客户端获取与其迄今为止键入的内容相匹配的选项


例如,您可以使用一般来说,用如此大量的记录填充
元素是不明智的。无论您使用的是哪种框架,这都适用(尽管角度和双向数据绑定尤其糟糕)

如果您希望用户能够从大量选项中进行选择,我建议使用“自动完成”风格的界面,用户键入几个字符,客户端获取与其迄今为止键入的内容相匹配的选项


比如说,,你可以使用

你能分享你的代码吗?代码就像角度绑定一样简单你需要使用角度ui
typeahead
或者用Lazyloading查找像
ui select
这样的插件好奇-你会如何处理选择框中的22k条记录?你能分享你的代码吗?代码就像角度绑定一样简单你需要去寻找angular ui
typeahead
或使用LazyLoadingGuilly查找类似于
ui select
的插件-如果选择框中有22k条记录,您会怎么做?