Javascript 角度树组件不显示任何节点

Javascript 角度树组件不显示任何节点,javascript,angular,typescript,treeview,angular-tree-component,Javascript,Angular,Typescript,Treeview,Angular Tree Component,一般来说,我对Angular和web开发非常陌生 我只想让树视图显示节点“Root1”和“Root2”。 目前,我得到的只是“我的树视图”的标签。我正在尝试实现angular2树库。问题最有可能出现在我的HTML中。谢谢你的反馈 文件: 从'@angular/core'导入{Component,OnInit,OnDestroy,NgModule,}; 从“./tree view.service”导入{TreeViewService,}; 从“角度树组件”导入{TreeModule}; 导入'

一般来说,我对Angular和web开发非常陌生

我只想让树视图显示节点“Root1”和“Root2”。 目前,我得到的只是“我的树视图”的标签。我正在尝试实现angular2树库。问题最有可能出现在我的HTML中。谢谢你的反馈

文件:

从'@angular/core'导入{Component,OnInit,OnDestroy,NgModule,};
从“./tree view.service”导入{TreeViewService,};
从“角度树组件”导入{TreeModule};
导入'rxjs/add/operator/debounceTime';
导入'rxjs/add/operator/map';
导入'rxjs/add/operator/distinctUntilChanged';
@NGD模块({
导入:[TreeModule],
})
@组成部分({
选择器:“TreeViewComponent”,
模板:“”
//templateUrl:'./tree view.component.html',
//样式URL:['./树视图.component.css']
})
导出类TreeView组件{
节点=[
{
id:1,
名称:'root1',
儿童:[
{id:2,名称:'child1'},
{id:3,名称:'child2'}
]
},
{
id:4,
名称:'root2',
儿童:[
{id:5,名称:'child2.1'},
{
id:6,
姓名:'child2.2',
儿童:[
{id:7,名称:'subsubsub'}
]
}
]
}
];
选项={};
}
.tree-children.tree-children-no-padding{padding left:0}
.tree子项{左填充:20px;溢出:隐藏}
.node放置槽{显示:块;高度:2px}
.node-drop-slot.is-dragging-over{background:#ddffee;高度:20px;边框:2px虚线#888;}
.toggle children包装器已展开。toggle children{transform:rotate(90度)}
.toggle children包装器已折叠。toggle children{transform:rotate(0);}
.切换子包装器{
填充物:2px 3px 5px 1px;
}
/*tslint:禁用*/
.切换儿童{
背景图片:url数据:数据:图像/png;Bas64,数据:数据:数据:数据:数据:图像/png;数据:数据:数据:图像/png;Bas64,数据:数据:数据:数据:图像/数据:数据:图像/png;数据:数据:数据:图像/png;基础64,数据,数据来源于一个数据来源于一个数据来源于一个数据来源于一个数据来源于一个非政府的数据。数据来源于2个数据来源于BBZZZZZZZZZZZZZZZZZGG8。数据:数据来源于数据:数据:数据:数据:数据:数据:数据来源于数据:数据:数据来源于数据:数据:数据:数据:数据:数据:数据:数据:数据:数据:数据:数据:图像:数据:图像/数据来源于数据来源于数据:数据:数据:数据:图像/数据:图像/数据来源于数据:数据:数据:数据:数据:图像/数据来源于PNPNG。数据:数据:数据8ZM2.10 10十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十9IZS5JB20VEGFWLZEUMC8IIHHTBG5ZMRJPSjodhrwoi8VCHVYBC5VCMCVZGMVZWXLBWVUDHMS4XLIGEG1WTU06T3JPZ2UYWXEB2BN1BWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVCCBDQYAYMDE技术NPBNRVC2GPIJ4GPHHTCE1NOKRLCML2ZWRGCM9TIHN0UMVMOMLUC3RHBMNL9INHTCC5PAWQ6MTK5NZ5NZA1OGETZMDI3OC00NZKLW4ODGTNGM4MGQ4YWI1NZBNMIIBZDFJLZKB2WVUDLEPSJHZG9IZTPKB2NZDPWAG90B3NOB6YZRKZMKZMQGMTY2LNS0XMTC4LW5L5QTY2NKZY2NKZM5YYW8NZKZKZKZKZYYYW8ZK8ZKZKZKZYKZKZKZKZKZK8ZYYYK8VZKZZZZZK8VZZYK8VZKZZZZZZZZZZYYK8V8ZjpBbHQ+IDwvZGM6dGl0bGU+IDWVCMRMOKRLC2NYAXB0AW9UPI8L3JKZJPSREY+IDWVEDP4BZBTZRZPIA8HWYWZQGZW5KPSJYIJ8+5IOGFWAAGHJREFUENPIYGBGKAIGF///ZOQG0EAR4AZYDIIZ8B/JOAJKDIDHB0CQIKBYKBRBTEYABKKKKKZWOMQC6ABRKKBYKKKJABRBYKKYKKKKKYKKKKKKKKKKKKKKKKKKKKKKKKKJJJJJJJJJ3BRKKKKKKKKKKKKKKKKK;
高度:8px;
宽度:9px;
背景尺寸:包含;
显示:内联块;
位置:相对位置;
顶部:1px;
背景重复:无重复;
背景位置:中心;
}
.切换子占位符{
显示:内联块;
高度:10px;
宽度:10px;
位置:相对位置;
顶部:1px;
右侧填充:3px;
}
.node内容包装器{
显示:内联块;
填充物:2px 5px;
边界半径:2px;
过渡:背景色.15s,框影.15s;
}
.node包装器{display:flex;align items:flex start;}
.node内容包装器处于活动状态,
.node content wrapper.node content wrapper处于活动状态:悬停,
.node-content-wrapper-active.node-content-wrapper-focused{
背景:#beebff;
}
.node内容{背景:#e7f4f9}
.node内容包装器:悬停{背景:#f7fbff}
.node content wrapper处于活动状态,.node content wrapper为焦点,.node content wrapper:悬停{
框阴影:插入0 0 1px#999;
}
.node-content-wrapper.is-dragging-over{background:#ddffee;box shadow:inset 0 0 1px#999;}
.node-content-wrapper.is-dragging-over-disabled{opacity:0.5}
树视口{
-webkit点击突出显示颜色:透明;
身高:100%;
溢出:自动;
显示:块;
}
.tree子项{左填充:20px}
.空树放置槽。节点放置槽{高度:20px;最小宽度:100px}
.角度树组件{
宽度:100%;
位置:相对位置;
显示:内联块;
光标:指针;
-webkit触摸标注:无;/*iOS Safari*/
-webkit用户选择:无;/*Chrome/Safari/Opera*/
-khtml用户选择:无;/*Konqueror*/
-moz用户选择:无;/*Firefox*/
-ms用户选择:无;/*IE/Edge*/
用户选择:无;/*无前缀版本,当前不受任何浏览器支持*/
}
树根。角度树组件rtl{
方向:rtl;
}
树根.角度树组件rtl.toggle children包装器折叠.toggle children{
变换:旋转(180度)!重要;
}
树根.角度树组件rtl.树子级{
右边填充:20px;
左侧填充:0;
}
树节点复选框{
填充:1px;
}

我的树景

您没有在HTML中使用正确的组件选择器
<div class="angular-tree-component">
    My Tree View
    <TreeViewComponent></TreeViewComponent>
</div>
import { Component, OnInit, OnDestroy, NgModule, } from '@angular/core';
import { TreeModule } from 'angular-tree-component';
import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/distinctUntilChanged';


@Component({
    selector: 'TreeViewComponent',
    template: '<tree-root [nodes]="nodes" [focused]="true" [options]="options"></tree-root>',
    styles:[`.tree-children.tree-children-no-padding { padding-left: 0 }
.tree-children { padding-left: 20px; overflow: hidden }
.node-drop-slot { display: block; height: 2px }
.node-drop-slot.is-dragging-over { background: #ddffee; height: 20px; border: 2px dotted #888; }
.toggle-children-wrapper-expanded .toggle-children { transform: rotate(90deg) }
.toggle-children-wrapper-collapsed .toggle-children { transform: rotate(0); }
.toggle-children-wrapper {
  padding: 2px 3px 5px 1px;
}
/* tslint:disable */
.toggle-children {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABAhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzRkRFQjcxODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzRkRFQjcwODUzNTExRTU4RTQwRkQwODFEOUZEMEE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTk5NzA1OGEtZDI3OC00NDZkLWE4ODgtNGM4MGQ4YWI1NzNmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YzRkZmQxMGMtY2NlNS0xMTc4LWE5OGQtY2NkZmM5ODk5YWYwIi8+IDxkYzp0aXRsZT4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+Z2x5cGhpY29uczwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6dGl0bGU+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5iogFwAAAGhJREFUeNpiYGBgKABigf///zOQg0EARH4A4gZyDIIZ8B/JoAJKDIDhB0CcQIkBRBtEyABkgxwoMQCGD6AbRKoBGAYxQgXIBRuZGKgAKPIC3QLxArnRSHZCIjspk52ZKMrOFBUoAAEGAKnq593MQAZtAAAAAElFTkSuQmCC');
  height: 8px;
  width: 9px;
  background-size: contain;
  display: inline-block;
  position: relative;
  top: 1px;
  background-repeat: no-repeat;
  background-position: center;
}
.toggle-children-placeholder {
  display: inline-block;
  height: 10px;
  width: 10px;
  position: relative;
  top: 1px;
  padding-right: 3px;
}
.node-content-wrapper {
  display: inline-block;
  padding: 2px 5px;
  border-radius: 2px;
  transition: background-color .15s,box-shadow .15s;
}
.node-wrapper {display: flex; align-items: flex-start;}
.node-content-wrapper-active,
.node-content-wrapper.node-content-wrapper-active:hover,
.node-content-wrapper-active.node-content-wrapper-focused {
  background: #beebff;
}
.node-content-wrapper-focused { background: #e7f4f9 }
.node-content-wrapper:hover { background: #f7fbff }
.node-content-wrapper-active, .node-content-wrapper-focused, .node-content-wrapper:hover {
  box-shadow: inset 0 0 1px #999;
}
.node-content-wrapper.is-dragging-over { background: #ddffee; box-shadow: inset 0 0 1px #999; }
.node-content-wrapper.is-dragging-over-disabled { opacity: 0.5 }

tree-viewport {
  -webkit-tap-highlight-color: transparent;
  height: 100%;
  overflow: auto;
  display: block;
}
.tree-children { padding-left: 20px }
.empty-tree-drop-slot .node-drop-slot { height: 20px; min-width: 100px }
.angular-tree-component {
  width: 100%;
  position:relative;
  display: inline-block;
  cursor: pointer;
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none;   /* Chrome/Safari/Opera */
  -khtml-user-select: none;    /* Konqueror */
  -moz-user-select: none;      /* Firefox */
  -ms-user-select: none;       /* IE/Edge */
  user-select: none;           /* non-prefixed version, currently not supported by any browser */
}

tree-root .angular-tree-component-rtl {
  direction: rtl;
}
tree-root .angular-tree-component-rtl .toggle-children-wrapper-collapsed .toggle-children {
  transform: rotate(180deg) !important;
}
tree-root .angular-tree-component-rtl .tree-children {
  padding-right: 20px;
  padding-left: 0;
}

tree-node-checkbox {
  padding: 1px;
}`]

})



export class TreeViewComponent {
    nodes = [
        {
            id: 1,
            name: 'root1',
            children: [
                { id: 2, name: 'child1' },
                { id: 3, name: 'child2' }
            ]
        },
        {
            id: 4,
            name: 'root2',
            children: [
                { id: 5, name: 'child2.1' },
                {
                    id: 6,
                    name: 'child2.2',
                    children: [
                        { id: 7, name: 'subsub' }
                    ]
                }
            ]
        },
        {
            id: 8,
            name: 'root3',
            children: [
                { id: 9, name: 'child1' }
            ]
        }
    ];
    options = {};
}
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { TreeModule } from 'angular-tree-component';
import { AppComponent } from './app.component';
import { HelloComponent } from './hello.component';
import {TreeViewComponent} from "./treeview.component"

@NgModule({
  imports:      [ BrowserModule, FormsModule,TreeModule ],
  declarations: [ AppComponent, HelloComponent,TreeViewComponent ],
  bootstrap:    [ AppComponent ]
})
export class AppModule { }
<tree-root [nodes]="nodes" [focused]="true" [options]="options"></tree-root>