动态模板在点击时不显示

我正在尝试根据我在文章中找到的在线示例创建动态组件。它似乎不起作用。这是文章链接,以供参考https://netbasal.com/dynamically-creating-components-with-angular-a7346f4a982d

动态组件最终将成为一个移动导航菜单,但现在它只是一个简单的文本显示,目的是使概念生效。

我关注了两篇不同的文章,但是我分享的文章似乎是最简洁,最简单的解释。我不确定出现了什么问题以及为什么单击时没有为我生成组件。

import { Component,OnInit,ComponentFactoryResolver,ViewChild,ViewContainerRef,ComponentFactory,ComponentRef } from '@angular/core';
import { AuthService } from '../../../core';
import {
  Router,} from '@angular/router';
import { ConfigAssetLoaderService } from '../../../core/services/config-asset-loader.service';
import { MobileNavbarComponent } from '../mobile-navbar/mobile-navbar.component';

@Component({
  selector: 'thrive-navbar',templateUrl: './navbar.component.html',styleUrls: ['./navbar.component.scss']
})
export class NavbarComponent implements OnInit {

  @ViewChild("mobileNavbarContainer",{read: ViewContainerRef}) container;
  componentRef: ComponentRef<MobileNavbarComponent>;

constructor(
    public authService: AuthService,private configService: ConfigAssetLoaderService,public router: Router,private resolver: ComponentFactoryResolver) {}

 createComponent(side) {
    this.container.clear();
    this.mobileNavOpen = true;
    const factory: ComponentFactory<MobileNavbarComponent> = this.resolver.resolveComponentFactory(MobileNavbarComponent);
    this.componentRef = this.container.createComponent(factory);
    this.componentRef.instance.title = side;
  }

}

以下是移动模板:

<ng-container #mobileNavbarContainer></ng-container>
<button (click)="createComponent()">Open Nav</button>

以下是移动导航组件:

import { Component,Input } from '@angular/core';
import { AnimationService } from '../../../core/services/animation.service';

@Component({
  selector: 'thrive-mobile-navbar',template: `
  <div>
    <h1>Test Text</h1>
  </div>
  `,styleUrls: ['./mobile-navbar.component.scss']
})
export class MobileNavbarComponent implements OnInit {

  @Input('title') title: string;

  constructor(
  ) { }

  ngOnInit() {

  }

}
robber_k 回答:动态模板在点击时不显示

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3164117.html

大家都在问