zoukankan      html  css  js  c++  java
  • angular 源码 <一> rotuerLinkActive

    这几篇,查看angular 源码

    rotuerLinkActive 是路由的样式设置。

    它的值是 css 的一个类。或者几个类。

    主要代码如下

    @Input()
      set routerLinkActive(data: string[]|string) {
        const classes = Array.isArray(data) ? data : data.split(' ');
        this.classes = classes.filter(c => !!c);
      }
    
      ngOnChanges(changes: SimpleChanges): void { this.update(); }
      ngOnDestroy(): void { this.subscription.unsubscribe(); }
    
      private update(): void {
        if (!this.links || !this.linksWithHrefs || !this.router.navigated) return;
        Promise.resolve().then(() => {
          const hasActiveLinks = this.hasActiveLinks();
          if (this.isActive !== hasActiveLinks) {
            (this as any).isActive = hasActiveLinks;
            this.classes.forEach((c) => {
              if (hasActiveLinks) {
                this.renderer.addClass(this.element.nativeElement, c);
              } else {
                this.renderer.removeClass(this.element.nativeElement, c);
              }
            });
          }
        });
      }
    this.classes就是传进来的数组,当变化或初始化的时候,执行update. update 遍历class ,并render 样式
    源码
    气功波(18037675651)
  • 相关阅读:
    重谈MST及Kruskal算法
    小技巧—边权转点权
    JDOJ 1062 过路费
    总结—二分答案求解问题
    CF10D LCIS
    NOIP 2012 摆花
    SDOI 2014 旅行
    CF550C Divisibility by Eight
    CF295C Greg and Friends
    USACO Closing the Farm
  • 原文地址:https://www.cnblogs.com/qgbo/p/11708248.html
Copyright © 2011-2022 走看看