Javascript 从子指令中删除ng重复项的正确方法
因此,我得到了以下通用结构:Javascript 从子指令中删除ng重复项的正确方法,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,因此,我得到了以下通用结构: <list-item ng-repeat="item in collection"> <remove-item> <a ng-click="remove()">delete</a><!-- this is inside the view.html --> </remove-item> </list-item> 删除 我需要一种适当的方法,在触发时
<list-item ng-repeat="item in collection">
<remove-item>
<a ng-click="remove()">delete</a><!-- this is inside the view.html -->
</remove-item>
</list-item>
删除
我需要一种适当的方法,在触发时,remove()函数将删除已单击对象的完整父级
我在指令上调用scope.parent().parent()..remove()时得到了这个有效的方法,但这是一个糟糕的方法=p
有更好的办法吗?(当然有)
请不要介意这个蹩脚的问题。我是AngularJs的新手,我很难解决这个问题=(
提前感谢。有几种方法可以避免Angular中的
$scope.$parent.$parent…
问题。如果您使用的是scopes,您应该将希望子对象访问的任何回调或属性放在scope的子属性中。例如,在parent指令中,使用$scope.api.remove=function(){…}
而不是$scope.remove=function(){…}
。然后您可以在child指令中调用它,如下所示:
<list-item ng-repeat="item in collection">
<remove-item>
<!-- remove() is bound to $scope.api rather than directly to $scope -->
<a ng-click="api.remove()">delete</a>
</remove-item>
</list-item>
v1.5.0中的功能。我不会给出详细的示例,但您可以阅读有关此模式的更多信息以及有关组件的更多信息。Hi,我想帮助您,但需要更多解释,您想在控制器的指令中调用remove action并返回所选对象,对吗?@Maher我需要调用remove()对于整个指令,单击ng在指令内单击…html上的控制器,目前,仅从my DB获取数据并将其显示在ng repeat上。