递归指令不起作用

时间:2014-09-17 14:30:12

标签: javascript html5 angularjs recursion angularjs-directive

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

Recursion in Angular directives

这是小提琴

http://jsfiddle.net/x6kvwzuk/

仅存在根菜单项。孩子们不在场。

菜单的JSON格式如小提琴所示。

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

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你很接近,但你需要复制实际将编译内容添加到元素的位。

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

http://jsfiddle.net/x6kvwzuk/1/

另外,如果您将所有递归逻辑移动到服务中,则可能更容易维护代码(并单独测试它),如您引用的方法中所述。这样的事情:http://jsfiddle.net/u998oxxz/1/