在深入研究代码库之后,NgBlockUi有一种方法可以做到这一点。
首先,我们不需要decorator,但需要用于赋值的变量。
import { NgBlockUI } from 'node_modules/ng-block-ui';
import { BlockUIInstanceService } from 'ng-block-ui/lib/services/block-ui-instance.service';
import { Guid } from "src/utilities/guid.ts"; //A TS Guid Generator.
export class TestComponent implements OnInit {
block: NgBlockUI;
constructor( private _blockService: BlockUIInstanceService) {}
ngOnInit() {
let blockName = `widget-content-${Guid.newGuid()}`;
this.block = this.blockService.decorate(blockName);
}
}
标记:
<div *BlockUI="block.name">Hello World</div>
因此,组件的每个实例都将获得一个唯一定义的guid,并具有自己对块的唯一引用。