Javascript 使用ng include构建树时,我的“ng单击”无效

Javascript 使用ng include构建树时,我的“ng单击”无效,javascript,angularjs,Javascript,Angularjs,我正在使用以下带有“ng include”的代码构建一棵树,它看起来很好: <script type="text/ng-template" id="tree_node.html"> <a ng-click="select(this, data, $event)">{{data.name}}</a> <ul> <li ng-repeat="data in data.children track by $index

我正在使用以下带有“ng include”的代码构建一棵树,它看起来很好:

<script type="text/ng-template" id="tree_node.html">
    <a ng-click="select(this, data, $event)">{{data.name}}</a>
    <ul>
        <li ng-repeat="data in data.children track by $index" ng-include="'tree_node.html'"></li>
    </ul>
</script>
<div>
  <ul>
    <li ng-repeat="data in venueTree track by $index" ng-include="'tree_node.html'"></li>
  </ul>
</div>

问题是,当单击{data.name}时,我的控制器中没有调用“select”函数。我没有javascript错误,只是什么都没有发生。

reapter创建新的作用域,您可以使用$parent或ng init访问父作用域,如ie: 请看这里:

html:

脚本:

<script type="text/ng-template" id="tree_node.html">
    <a ng-click="parent.select(this, data, $event)">{{data.name}}</a>
    <ul>
        <li ng-repeat="data in data.children track by $index" ng-include="'tree_node.html'"></li>
    </ul>
</script>

我不确定我是否理解你的问题。ng click在我制作的这张照片中似乎效果不错

<script type="text/ng-template" id="tree_node.html">
    <a ng-click="parent.select(this, data, $event)">{{data.name}}</a>
    <ul>
        <li ng-repeat="data in data.children track by $index" ng-include="'tree_node.html'"></li>
    </ul>
</script>
app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
  $scope.venueTree = [{children:[{name:'one'},{name:'dos'}]},{children:[{name:'drei'},{name:'fyra'}]}];
  $scope.select = function(a,b,c){alert(b.name); console.log({a:a, b:b, c:c})};
});