Javascript 递归指令不工作

Javascript 递归指令不工作,javascript,html,angularjs,recursion,angularjs-directive,Javascript,Html,Angularjs,Recursion,Angularjs Directive,我正在尝试创建一个自定义递归指令。但它不起作用 我遵循这里定义的方法 这是小提琴 只有根菜单项存在。孩子们不在 菜单的JSON格式如fiddle所示 { menus : [ { displayName : 'somename' submenus : [ // array of menu objects ] }, { displayName : 'somena

我正在尝试创建一个自定义递归指令。但它不起作用 我遵循这里定义的方法

这是小提琴

只有根菜单项存在。孩子们不在

菜单的JSON格式如fiddle所示

{
   menus : [
      {
         displayName : 'somename'
         submenus : [
           // array of menu objects
         ]
      },
      {
         displayName : 'somename2'
         submenus : [
           // array of menu objects
         ]
      }
   ]
}

如何解决这个问题?

您已经接近了,但是您需要复制实际将编译内容添加到元素中的位

compiledContents(scope, function(clone){
    iElement.append(clone);
});

另一方面,如果您将所有递归逻辑移动到一个服务中,那么维护代码(并单独测试代码)可能会更容易,如所引用的方法中所述。大概是这样的: