gpt4 book ai didi

javascript - 设置 sortProperties 后无法清除 ArrayController

转载 作者:行者123 更新时间:2023-11-29 22:08:49 24 4
gpt4 key购买 nike

我正在寻找一种方法来清除 ArrayController,但在 sortProperties 时出现错误:

App.SwatchesController = Ember.ArrayController.extend({
clear: function () {
this.clear(); // Error: Using replace on an arranged ArrayProxy is not allowed.
},
sortProperties: ['occurences']
});

如果我删除 sortProperties,它将正常工作。当然,我可以通过以下方式清除 Controller :

this.set('model', []);

但如果可能的话,它会坚持使用 clear()

最佳答案

仅使用 this.clear() 将使 arrangedContent 发生变化,这是不允许的。我认为这是因为 arrangedContent 不是事实来源,只是 model 属性。 arrangedContent 旨在成为一些基于模型属性的重组数据,例如:过滤器、订单、排序等。因此您需要始终更改源(model),而不是整理的资料。

因此您需要使用 this.get('model').clear(); 而不是 this.clear();

您的代码更新如下:

App.SwatchesController = Ember.ArrayController.extend({
clear: function () {
this.get('model').clear();
},
sortProperties: ['occurences']
});

关于javascript - 设置 sortProperties 后无法清除 ArrayController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19301204/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com