Vue.js:x27的最大长度是多少;键';属性(在呈现列表项时使用)?
我想知道,对于Vue.js(v2),在呈现列表时,应用于项目的Vue.js:x27的最大长度是多少;键';属性(在呈现列表项时使用)?,vue.js,Vue.js,我想知道,对于Vue.js(v2),在呈现列表时,应用于项目的:key属性是否必须具有最大大小?如果是的话,这个限制是多少 作为一个用例,我正在考虑使用:key=JSON.stringify(item),因为我正在设计一个组件,该组件可以处理其项可以具有各种类型的列表。这种做法不好吗 谢谢你的意见 从技术上讲,最大长度很可能受到给定浏览器中的限制。但现实地说,我强烈建议不要这样做 Vue使用这些键来创建。这意味着,当您有一个初始列表,其中键显示在左侧,然后更新到右侧,Vue可以简单地重新排列大多
:key
属性是否必须具有最大大小?如果是的话,这个限制是多少
作为一个用例,我正在考虑使用:key=JSON.stringify(item)
,因为我正在设计一个组件,该组件可以处理其项可以具有各种类型的列表。这种做法不好吗
谢谢你的意见 从技术上讲,最大长度很可能受到给定浏览器中的限制。但现实地说,我强烈建议不要这样做 Vue使用这些键来创建。这意味着,当您有一个初始列表,其中键显示在左侧,然后更新到右侧,Vue可以简单地重新排列大多数项,而不是从头开始重新排列整个列表
┌───┐ ┌───┐
│ 1 │ │ 5 │
├───┤ ├───┤
│ 2 │ │ 4 │
├───┤ -> ├───┤
│ 3 │ │ 3 │
├───┤ ├───┤
│ 4 │ │ 2 │
└───┘ └───┘
在上面的示例中,节点2、3和4可以重新排序,而节点5将从头开始渲染。重新排序比渲染便宜得多,因此使应用程序更快 这样做的开销基本上是两件事的总和:将左侧的键与右侧的键进行比较,然后对可以重用的节点重新排序。
当您使密钥变大时,随着密钥比较时间的增长,您很可能会抵消此操作的大部分或全部好处。此外,您将消耗大量内存,这对大多数移动设备来说都不是好兆头