使用指令时无法添加功能

时间:2016-09-29 14:55:03

标签: angularjs html5

http://plnkr.co/edit/JAIyolmqPqO9KsynSiZp?p=preview

我们如何向此代码添加addChild(树)函数,以向阵列添加更多数据。我已经改变了这样的模板

link_to

并且在每个'<p>{{ family.name }}{{test }}</p>'+ '<ul>' + '<li ng-repeat="child in family.children">' + '<tree family="child"></tree>' + '</li>' + '</ul>' + '<button ng-click="addChild()" value="Add">Add</button>' 之后添加按钮,但是当单击该按钮时,该功能未被调用。 我在控制器中有这个功能

<ul>

我可以带来什么改变?

1 个答案:

答案 0 :(得分:1)

我对你的掠夺者做了一些改变。

基本上,缺少的是您的<tree>标记的声明,一个名为addchild的方法的声明,引用父方法(在index.html中):

<tree family="treeFamily" addchild="addChild(family)"></tree>

此外,在您的指令中,您还需要引用此方法:

<button ng-click="addchild({ family : family })" value="Add">Add</button>

并添加指令范围:addchild: '&'

然后它应该引用你父母的addChild方法,定义如下:

$scope.addChild = function (family) {
      if (family)
        family.children.push({ name: "Child", children: []});
    };

请参阅此plunker以供参考