如何访问或更新其他组件类angular2中的组件类变量

时间:2016-08-17 05:46:25

标签: javascript angular

我有身体,主页我想申请' home'上课和其他'对于页面的其余部分。这个主体在index.html中定义。

现在appcomponent有公共变量' homePage = true'对于Index.html。对于其他页面,我想访问此变量并设置' homePage = false'。

2 个答案:

答案 0 :(得分:0)

在您的应用程序组件中,如果您使用的是Angular RC4,您可以执行以下操作来检查您的网址并设置homePage变量:

import { Router, NavigationEnd } from '@angular/router';
import { Component, OnInit } from '@angular/core';

@Component({
  selector  : 'app'
})
export class AppComponent implements OnInit {
  public homePage: Boolean    = true;
  private router: Router;

  constructor(router: Router){
    this.router         = router;
  }

  ngOnInit() {
    this.router.events.subscribe((events) => {
      if (events instanceof NavigationEnd) {
        if (events.url === '/' || events.url === '/home') {
          this.homePage = true;
        } else {
          this.homePage = false;
        }
      }
    });
    this.homePage = (this.router.url === '/' || this.router.url === '/home') ? true : false;
  }
}

此外,您还需要将正文标记更改为:<body [ngClass] = "{'home':homePage, 'other':!homePage}">

答案 1 :(得分:0)

我认为你需要摆脱阶级=&#34;家庭&#34; ...

<body [ngClass]="{home: homePage, other: !homePage}">

虽然,我不确定如何在body标签上设置角度2指令。你应该在主体内部有一个标签,它是主要组件(即:你引导角度的那个)所以任何东西除了角2的超棒之外,不会增强它。