gpt4 book ai didi

angular - 第二次使用 ng2-dragula 进入页面时出错

转载 作者:行者123 更新时间:2023-12-03 18:41:56 26 4
gpt4 key购买 nike

我试图阻止用户移动 dragulaService 的第一个元素,代码第一次运行没有任何错误,但是当我离开这个页面然后再次打开它时,我收到错误。

导致错误的代码:

constructor(public service:SmartTablesService, private dragulaService:DragulaService) {
dragulaService.setOptions('nested-bag', {
revertOnSpill: true,
moves: function (el:any, container:any, handle:any):any {
if (handle.className === 'sorting-table-title') {
return false;
} else {
return true;
}

}
});

错误是:

error_handler.js:48 EXCEPTION: Uncaught (in promise): Error: Error in ./SortTableComponent class SortTableComponent_Host - inline template:0:0 caused by: Bag named: "nested-bag" already exists. Error: Bag named: "nested-bag" already exists. at DragulaService.add (http://platform.local:8080/3.chunk.js:1070:19) at DragulaService.setOptions (http://platform.local:8080/3.chunk.js:1099:24) at new SortTableComponent (http://platform.local:8080/3.chunk.js:1311:24)

最佳答案

您需要在组件的 nested-bag 生命周期中手动销毁 onDestroy 因为它不是自动完成的:

ngOnDestroy() {
this.dragulaService.destroy('nested-bag');
}

关于angular - 第二次使用 ng2-dragula 进入页面时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41183389/

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