Css 使用模板的素数树节点的条件样式

Css 使用模板的素数树节点的条件样式,css,angular,primeng,tree-nodes,Css,Angular,Primeng,Tree Nodes,我很清楚如何同时设置所有节点的样式,但是如果节点是叶(节点有子节点)但没有父节点,或者节点有父节点但没有子节点,我需要添加一个样式。 这是我的密码 <p-tree [value]="nodes" layout="horizontal"> <ng-template let-node pTemplate="default"> <p>ADD CONTENT HERE</p> </ng-

我很清楚如何同时设置所有节点的样式,但是如果节点是叶(节点有子节点)但没有父节点,或者节点有父节点但没有子节点,我需要添加一个样式。 这是我的密码

<p-tree [value]="nodes" layout="horizontal">
        <ng-template let-node pTemplate="default">
                <p>ADD CONTENT HERE</p>
        </ng-template>
    </p-tree>

在此处添加内容

然后在样式表中使用
.leaf style
.no leaf style

更新:

它应该在以下方面发挥作用:
请参阅:

感谢您的回复,但如上所述-在模板中添加样式不会更改所需的样式。我需要更改的样式是
ui-treenode
,它是在
pTemplate=“default”
模板中呈现的。我想是这样的。请参阅stackblitz示例的更新答案。也许我没有理解正确?虽然我的问题可能不清楚,但是如果你检查一下你的演示,你会发现你的定制风格比我需要改变的风格要深刻得多。我用截图编辑了我的问题。
ngAfterViewInit(): void {
 jQuery('.ui-tree-toggler').addClass('d-none');
 jQuery('.ui-treenode-content').addClass('shadow');
 jQuery('.ui-treenode-content').addClass('fp-tree-node');

 this.nodes.forEach(node => {
    this.setClasses(node);
 });
}

setClasses(node: TreeNode) {
 if(!node.children || node.children.length === 0) {
   let thisNode = jQuery(`#${node.data.id}`);
   let styleParent = thisNode.closest(".ui-treenode")
   styleParent[0].classList.add("pl-0");
 }

 if(!node.data.parentId) {
  let thisNode = jQuery(`#${node.data.id}`);
  let styleParent = thisNode.closest(".ui-treenode")
  styleParent[0].classList.add("pr-0");
 }

 if (node.children && node.children.length > 0) {
    node.children.forEach(child => {
      this.setClasses(child);
    });
 }
}
<p-tree [value]="nodes" layout="horizontal">
    <ng-template let-node pTemplate="default">
        <p 
            [class.leaf-style]="node.leaf" 
            [class.no-leaf-style]="!node.leaf"
        >
             ADD CONTENT HERE
        </p>
    </ng-template>
</p-tree>