为了账号安全,请及时绑定邮箱和手机立即绑定

angular指令自己相嵌套问题

angular指令自己相嵌套问题

MMMHUHU 2018-08-09 07:10:14
嵌套效果没有实现<recursion enter-data="treeData"><ul>   <li ng-repeat="item in treeData">     <div>{{item.name}}</div>     <recursion ng-if="item.child.length" enter-data="treeData" ng-init="treeData=item.child"></recursion>   </li></ul></recursion>.directive('recursion', function() {return {restrict: 'EA',replace: true,transclude: true,scope: {  treeData: '=enterData'},template: '<div ng-transclude></div>',link : function (scope, element, attrs) { }};})
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

首先建议你看一下directive中参数transclude的作用。
然后,不建议使用ng-init="treeData=item.child"这样的办法将treeData再赋值,直接写enter-data="item.child"更好。
and,在浏览器控制台中审查元素你会发现:并非recursion没有生效,div元素已经替换了recursion,只是div中的内容为空(即使div不为空,recursion中内容为空,指令生效后div内容也会为空),所以看上去就跟没生效一样。

查看完整回答
反对 回复 2018-09-19
  • 1 回答
  • 0 关注
  • 626 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信