我正在尝试从操作填充子菜单,但似乎总是说未定义

时间:2019-01-31 14:14:31

标签: javascript jquery html arrays

因此,我正在使用vakata上下文菜单子菜单,并且试图创建一个包含要显示到子菜单对象中的项目的对象。当我在子菜单中调用它时,总是得到未定义而不是标签。

return { 
    "AddClient" : {
         label: "Add Client", 
         action: function(itemName){
             var itemName, itemDisp;
             itemName = 'item';
             return itemDisp = {itemName : { label: 'hello'}};
         },                        
         "submenu": {
             itemDisp 
         }

因此,在上面我要在上下文菜单中返回“添加客户端”作为项,然后在操作中创建设置为“ item”的变量itemName,最后返回带有以下内容的“ itemDisp”:项目对象。

在子菜单中调用itemDisp之后。结果,这应该在上下文菜单子菜单中显示问候,但它始终显示未定义。

1 个答案:

答案 0 :(得分:0)

您声明的itemDispaction函数的变量,因此该变量的作用域确定该函数在这个函数中设置其值。如果您还全局或至少在更高的范围内声明了itemDisp,只需在action函数中删除该变量即可。

您的代码示例非常小,不允许我测试或复制任何内容,因此很难为您提供更多帮助。

如果您需要更多的帮助,我鼓励你们加入更多内容,使一小块是重现您的问题(像codesandox,jsbin等服务)的代码