javascript - 递归指令不起作用

标签 javascript html angularjs recursion angularjs-directive

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

Recursion in Angular directives

这是 fiddle

http://jsfiddle.net/x6kvwzuk/

仅存在根菜单项。 children 不在场。

菜单的 JSON 格式如 fiddle 所示。

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

如何解决这个问题?

最佳答案

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

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

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

顺便说一句,如果您将所有递归逻辑移至服务中,那么维护代码(并单独测试它)可能会更容易,如您引用的方法中所述。像这样的:http://jsfiddle.net/u998oxxz/1/

关于javascript - 递归指令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25893371/

相关文章:

javascript - 如何从其他站点下载mp3文件

javascript - 如何在 Javascript 中获取图像的垂直位置? (关于文件)

javascript - 返回 Firebase 项目 AngularFire 的 $add ref

javascript - 使用单段代码进行条件验证 - AngularJS

javascript - 手动打开带有文本内容的 Featherlight Gallery

javascript - 单击或取消选中 chekcbox 时如何创建弹出的自定义窗口?

javascript - 我如何访问这个 json 中的内容?

javascript - 添加事件监听器不是带有queryselector的函数

javascript - 通过 AJAX 改善加载时间?

angularjs - MomentJS 下一个 15 日