Fab*_*cio 3 angular2-directives angular
我有一个Angular 2指令,当表放置在可滚动的div内时,该指令可使给定表的标题(th)保持固定。它根据单元格上数据的大小调整列标题的大小,反之亦然。在Angular 2 RC1之前,它工作正常,但是在我将其升级到RC4之后,它停止了工作。
一段时间后,我意识到由框架触发的“ AfterViewChecked”事件的数量已减少,这可能是由于已解决的问题所致。现在的问题是我的指令不再触发其重新计算逻辑来调整表头的大小。
是否可以从父级的指令表中绑定或捕获事件以触发重新计算过程?
指令代码大致如下所示:
export class TableFixedHeaderDirective implements AfterViewChecked, AfterViewInit
...
ngAfterViewInit(): void ...
ngAfterViewChecked(): void ...
onWindowResize(): void ...
...
Run Code Online (Sandbox Code Playgroud)
在这些事件中,我调用逻辑来执行标头计算,该逻辑将根据所显示数据的宽度基本上调整标头或列的大小。
angular指令没有View,因此与视图相关的所有生命周期挂钩都将不起作用,因为它们不存在。
查看文件
ngOnInit
在Angular初始化数据绑定的输入属性之后,初始化指令/组件。
ngOnChanges 在Angular设置数据绑定输入属性后响应。该方法接收当前值和先前值的更改对象。
ngDoCheck
检测并根据Angular自身无法检测到的变化采取措施。称为每次更改检测运行。
ngOnDestroy 在Angular销毁指令/组件之前进行清理。取消订阅可观察对象并分离事件处理程序,以避免内存泄漏。
ngAfterContentInit
Angular After将外部内容投影到其视图中。
ngAfterContentChecked
在Angular之后检查它投影到其视图中的外部内容的绑定。
ngAfterViewInit 在Angular之后创建组件的视图。
ngAfterViewChecked
Angular之后会检查组件视图的绑定。
| 归档时间: |
|
| 查看次数: |
4915 次 |
| 最近记录: |