在CQ5中为“伙伴”和“插入”对话框动态定义组件列表



我正在尝试根据用户的权限修改 sidekick 中显示的组件列表。我正在按照此处的说明进行尝试。

我想知道的是如何发回作为参数接收的修改后的允许数组,因为我对数组所做的任何修改似乎都在本地范围内。例如,如果我希望允许的组件仅包含默认列表组件,我会做这样的事情。

function MyHandler(cell, allowed, componentList) {
    allowed = [];
    allowed.push("/libs/foundation/components/list");
}

但是,一旦控件返回到触发此事件的函数,这些更改就不可见。我应该返回数组还是什么?你能解释一下我在这里是否遗漏了什么吗?

好的。终于想通了问题。我想清除传递给我的处理程序的现有组件列表,我使用了 allowed = []; .

这将删除对允许的数组的所有现有引用。(更多关于这一点解释在这里)。

因此,将其更改为allowed.length = 0;绝对可以正常工作。

function MyHandler(cell, allowed, componentList) {
    allowed.length = 0;
    allowed.push("/libs/foundation/components/list");
}

相关内容

  • 没有找到相关文章

最新更新