最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Vue infinite update loop的问题解决

来源:动视网 责编:小采 时间:2020-11-27 21:58:11
文档

Vue infinite update loop的问题解决

Vue infinite update loop的问题解决:一个尤大大曾回复过的问题 vue warn : You may have an infinite update loop in a component render function 最近再写一个数组渲染时,源数据是拿到的数组经过排序后的数组,正常运行却出现爆红: 报红代码: computed: { ...mapSt
推荐度:
导读Vue infinite update loop的问题解决:一个尤大大曾回复过的问题 vue warn : You may have an infinite update loop in a component render function 最近再写一个数组渲染时,源数据是拿到的数组经过排序后的数组,正常运行却出现爆红: 报红代码: computed: { ...mapSt


return value.slice().sort(...)

解决方案:

computed: {
 ...mapState({
 fromNames (state) {
 let fromNames = state.quote.fromNames;
 return fromNames.slice().sort((a, b) => b.isBind - a.isBind);
 },
 }),
 },

数组方法 array.slice()用法

arr.slice([begin[, end]])

slice() 方法会浅复制(shallow copy)数组的一部分到一个新的数组,并返回这个新数组。

begin 起始位置 如果未定义,就默认0;如果大于数组长度,返回空数组;如果是负数,则从末尾算起;

end 结束位置(不包含该位置元素)如果省略了,就默认到末尾;如果大于数组长度,就取数组长度;如果是负数,则从末尾算起。

技巧:处理类数组对象

slice() 可以用于把一个类数组对象转化为一个新数组

例如:

function list() {
 return Array.prototype.slice.call(arguments);
}

var list1 = list(1, 2, 3); // [1, 2, 3]

也可以使用.call绑定在函数的Function.prototype(也可以被简化为[].slice.call(arguments)

var unboundSlice = Array.prototype.slice;
var slice = Function.prototype.call.bind(unboundSlice);

function list() {
 return slice(arguments);
}

var list1 = list(1, 2, 3); // [1, 2, 3]

或者

[].slice.call({ 0: 0, 1 : 2, 2: 4, length: 4 })
//[0, 2, 4, empty]

文档

Vue infinite update loop的问题解决

Vue infinite update loop的问题解决:一个尤大大曾回复过的问题 vue warn : You may have an infinite update loop in a component render function 最近再写一个数组渲染时,源数据是拿到的数组经过排序后的数组,正常运行却出现爆红: 报红代码: computed: { ...mapSt
推荐度:
标签: VUE
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top