我正在尝试开发一个标签视图,我可以在运行时动态加载标签。我最近开始使用ng-boostrap中的ngb-tabset,发现它非常有用,除非我似乎无法动态创建标签。
Long2know几乎完全创造了我尝试实施的here. 目前的挑战是提供此示例的数据。理想情况下,如果可以创建这样的东西
.state('product', {
url: '/product/:productName',
controller: 'ProductController',
title: "Product",
templateUrl: 'app/components/product/product.html',
controllerAs: 'vm'
})
其中"组件"将是一系列不同的组件。因此,createTab将是一个指令,它使用FactoryResolver和ViewContainerRef来动态创建组件。
如果我尝试这样的话,我不会收到错误,但标签视图根本不显示。在查看ngb-tabset的源代码之后,我意识到它使用@ContentChildren来获取与使用ViewContainerRef动态创建组件无关的选项卡内容。
我只是想知道是否有其他方法可能类似于实现这一目标?我知道有可能用路由器来实现这一点,但是我已经花了很多时间在这种方法上,所以它会更受欢迎,但我对任何事情都持开放态度。
答案 0 :(得分:1)
尝试
<ngb-tabset [destroyOnHide]="false">
...
</ngb-tabset>
这将防止元素被破坏