我将 sortablejs 与 ngx-sortablejs 包装器一起使用。我需要更新更改的选项,但我总是在创建组件时得到 TypeError: Cannot read property 'option' of undefined
,我认为这是因为 sortablejs 在更改进来时没有被实例化,所以我设置了错误的选项时间(这对我来说似乎很奇怪,因为我只是在更改一个已经存在的配置对象,实际上并没有弄乱可排序的实例;它应该在更改检测时完成所有这些操作)。
奇怪的是,如果我等到 afterViewInit
来处理任何更改,它仍然很时髦......但是,一旦页面完全加载,我可以正确地更改内容而不会出错。
ngAfterViewInit(){
this.initted = true;
}
ngOnChanges(changes: SimpleChanges){
if(changes.locked && this.initted){
this.sortableOptions = {...this.sortableOptions,disabled:changes.locked.currentValue};
}
}
我在 github 上看到了一个类似的投诉问题,但它是针对旧版本的插件,其中有人建议检查 sortableInstance
但使用 ngx 包装器,似乎没有这样的实例在要检查的组件中。我没有手动实例化它;它由我模板中列表持有者的一个属性处理。