账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    angular4 动态创建组件
    34
    0

    我想用Directive做一个公共的指令,当鼠标点击目标元素时,显示一个组件的内容,鼠标离开消失,
    目前我是点击时用ViewContainerRef插入组件,
    但是插入的组件与目标元素并列,而我想插入目标元素里面,
    比如目标元素为<span appTxt><span/>,插入的组件的html为<span>hi<span/>
    当我点击时,会变成<span appTxt><span/><span>hi<span/>
    但wo 想要的效果是<span appTxt><span>hi<span/><span/>
    @Directive({
    selector: '[appTxt]',
    })
    export class TxtCopyDirective {

    constructor(private el: ElementRef, private renderer2: Renderer2, public viewContainerRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver) {

    }

    @HostListener('click', ['$event']) onclick(event: any) {

    this.viewContainerRef.clear();
    const componentFactory = this.componentFactoryResolver.resolveComponentFactory(插入的组件);
    this.viewContainerRef.createComponent(componentFactory);
    

    }

    }

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部