我需要在客户端实现自动完成功能。数据通过服务器传输。 这可以通过多种方式来完成。我想到的两个是:
我在服务器中使用nodejs,在客户端中使用angular cli。
我很高兴听到您的意见,同时也愿意听到其他我没有考虑过的选择,这些选择在这种情况下可能是有效的。
答案 0 :(得分:1)
1。)在服务器端实现自动完成肯定会带来一些效率问题,尤其是当您在每个keydown事件中与后端对话时。但这可以通过设置一些基本规则来改进,例如
a。)仅当用户输入两个以上的单词时才调用api。如果用户键入20个以上的单词,则不应查找数据。
b。)如果您知道持续存在哪些数据国王,例如仅数字(不允许用户输入任何字母)
c。)从数据源获取数据时,请始终限制数据,以确保正在提取有限数量的记录以供显示。
2。)仅在您的数据量有限的情况下,比如说几千条记录,数据传输也才有效。
a。)如果您已经知道数据将非常庞大,请不要尝试获取所有数据。牢记您提到用户可能会或可能不会使用此功能,这将是不必要的API调用。
b)如果数据有限,则此方法将比第一种方法更好,因为所有这些都将一次性存储在客户端,并且不再需要不必要的服务器调用。