javascript - 递归 AngularJS 指令

标签 javascript angularjs recursion angularjs-directive angularjs-scope

目前我正在使用 AngularJS 开发一个项目,我需要创建一个能够显示(和更改)“递归结构”的指令 - 类似于家庭的东西。 Controller 中定义的结构如下所示:

$scope.members = [
            { firstName: 'Andrei', lastName: 'Croitoriu', age: 32 },
            { firstName: 'John', lastName: 'Doe', age: 25, members: [
                {
                  firstName: 'Jane', lastName: 'Doe', age: 24
                }
              ]}
           ];

我已经成功实现了显示结构的指令,但现在我正在努力实现“添加成员”功能。基本上,对于每个成员,我希望其旁边有一个按钮,并且能够向节点添加新成员。我希望在 Controller 中定义一个方法 - 到目前为止我的所有尝试都失败了,因此在附加的 plnkr 代码中我删除了所有尝试(只剩下一个简单的 addMember 方法,该方法仅将新成员添加到顶级集合中。

任何人都可以建议如何将 addMember 方法传递给指令并实现我期望的行为吗?

我的代码可以在这里找到:http://plnkr.co/edit/hRzQiW?p=info

提前谢谢您!

安德烈

最佳答案

快速调优是将addMember放在familyMember指令中,由于指令作用域是隔离的, Controller 作用域下的函数无法访问。

在这里查看骗子:http://plnkr.co/edit/h6vZu7?p=preview

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

相关文章:

javascript - socket.io 如何区分消息是针对哪个房间的

javascript - 使用 Angular 进行不必要的主页刷新,而其他页面则不会发生这种情况

recursion - 在J中创建递归默认函数

java - 反转链表

javascript - 如何检查二叉树的右侧。在树中搜索项目

javascript - Three.js之光不是一成不变的

javascript - 我应该将对象文字存储在 jQuery 命名空间还是全局命名空间中?

javascript - 选择输入元素的子元素

javascript - 从 ng-repeat 网格中删除点符号

javascript - 一定宽度的裁剪跨度