0

我正在尝试根据用户的权限修改 Sidekick 中显示的组件列表。我正在尝试这里解释。

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

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

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

4

1 回答 1

0

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

这删除了对允许数组的所有现有引用。(更多关于这个解释here)。

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

function MyHandler(cell, allowed, componentList) {
    allowed.length = 0;
    allowed.push("/libs/foundation/components/list");
}
于 2013-10-31T13:45:54.123 回答