小编c19*_*992的帖子

如何通过自定义指令动态添加组件

我想编写一个自定义指令,它将根据 div 内的某些逻辑动态添加组件,我在其中使用了自定义指令。

我尝试使用 componentFactoryResolver 和 viewContainerRef.createComponent 动态添加组件

<div myDirective> 
   <!-- dynamically add component through directive -->
   <span>Hello</span> 
</div>

// my custom directive

myDirective {
    constructor( private element: ElementRef,
        private renderer: Renderer,
        private viewContainerRef: ViewContainerRef,
        private componentFactoryResolver: ComponentFactoryResolver
    ) { }

    ngOnInit() {
        let componentFactory = this.componentFactoryResolver
                    .resolveComponentFactory(myComponent);
        let componentRef = this.viewContainerRef
                    .createComponent(componentFactory, 0);
    }

}
Run Code Online (Sandbox Code Playgroud)

实际结果:组件在 div 之后创建,预期:组件应添加到 div 内

angular

8
推荐指数
2
解决办法
9011
查看次数

我无法在我的 Mac 上安装 npm。我收到以下错误

我在执行 npm install 时收到以下与写入访问相关的 checkPermissions 错误。

npm install
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/npm/node_modules/tar/node_modules/minizlib
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/npm
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/npm/node_modules/tar/node_modules
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! path /usr/local/lib/node_modules/npm/node_modules/tar/node_modules/minizlib
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules/npm/node_modules/tar/node_modules/minizlib'
npm ERR!  { Error: EACCES: permission denied, access '/usr/local/lib/node_modules/npm/node_modules/tar/node_modules/minizlib'
npm ERR!   stack: 'Error: EACCES: permission denied, …
Run Code Online (Sandbox Code Playgroud)

npm-install

1
推荐指数
1
解决办法
3829
查看次数

标签 统计

angular ×1

npm-install ×1