Html 如何指定每个角度树根节点的子节点的链接或函数?

Html 如何指定每个角度树根节点的子节点的链接或函数?,html,angular,typescript,tree,nodes,Html,Angular,Typescript,Tree,Nodes,如何指定每个角度树根节点的子节点的链接或函数 .html的示例 <!-- edited after advise from @SachilaRanawaka, somehow (onToggle) is not having any reactions but (click) has--> <tree-root #tree [nodes]="nodes" (click)="handleEvent($event)"></tree-root> 如何指定链

如何指定每个角度树根节点的子节点的链接或函数

.html的示例

<!-- edited after advise from @SachilaRanawaka, 
 somehow (onToggle) is not having any reactions
 but (click) has-->

<tree-root #tree [nodes]="nodes" (click)="handleEvent($event)"></tree-root>
如何指定链接,例如a href?路由器?或在单击children1或children2时运行的函数

有房子吗

大致是这样的:

nodes = [{id:1,name:"parent",children:[
                                 {id:2,name:"children1", link:"/test/children1.html" },                                           
                                 {id:3,name:"children2", link:"/test/children2.html" }
                             ]
         }];

这里有一个关于我使用的树类型的链接:

好的,我已经找到了解决上述问题的方法

所以我只是想和大家分享一下。这是

这样做的目的是获取没有子节点的节点的名称,并对其进行处理。使其可点击

通常,可单击的节点应该是最后一个展开的节点

在下面的示例中,我给了它一个函数来调用带有节点名的警报

更新了.HTML以使用ng模板

因此,输出:

 > parent               <--- not clickable
    > children1        <--- clickable and generated alert box
    > children2        <--- clickable and generated alert box

是什么?如果这是您的自定义组件,我们如何知道是否存在属性?链接或函数应该做什么?@GünterZöchbauer,抱歉,我已经包含了一个指向我所指的angular2树的链接。你不能使用事件来调用函数@SachilaRanawaka,嗯,听起来很有趣。。这只处理孩子们吗?使用$event.eventName
<tree-root #tree [nodes]="nodes">
 <ng-template #treeNodeTemplate let-node>
   <!--For node with no children(last node), give it a function/link-->
   <div *ngIf="!node.data.children">
     <span (click)="doSomething(node.data.name)">{{ node.data.name }}</span>
   </div>
   <!--For node with children, don't need a link, all it needs to do is to just expand-->
   <div *ngIf="node.data.children">
     <span>{{ node.data.name }}</span>
   </div>
 </ng-template>
</tree-root>
    nodes = [{id:1,name:"parent",children:[
                                     {id:2,name:"children1"},                                           
                                     {id:3,name:"children2"}
                                 ]
             }];

    doSomething(nodeName){
       alert(nodeName);
    }
 > parent               <--- not clickable
    > children1        <--- clickable and generated alert box
    > children2        <--- clickable and generated alert box