视图不呈现新变量Angular

时间:2017-08-02 22:02:19

标签: javascript angular typescript angular-routing

我正在准备项目,对不起但不能分享plunk或smthn,会尽力解释。正如您在左侧菜单中看到的那样,每当用户点击左侧菜单时,您在路径插座中显示的每个组件都会在init上更改部分名称,只需通过发出新的sectionName及其可见性如下所示:

{
    name: 'Home',
    isVisible: true,
}

并且有订阅者获取和更改部分名称及其可见性:

 current_section: {} = {
    name: 'Home',
    isVisible: true,
  };
 this._dashboardService.current_section.subscribe(
      (data) => {
        this.current_section = data;
        console.log(data);
      }
 );

//部分名称的模板面

<div *ngIf="current_section.isVisible" class="hide-on-print">
                <h2 class="display-4">
                    {{current_section?.name}}
                </h2>
                <hr>
</div>

// router-outlet组件如何设置节名称(例如下面的主页)

  ngOnInit() {
    this._dashboardService.current_section.next({ name: 'Home', isVisible: true });
}

问题

每当路由更改为另一个组件时,它会将新值设置为section,但ui不会首次渲染。但是如果我从section_name的模板端删除ngif,如下面的

,它可以正常工作
 //<div *ngIf="current_section.isVisible" class="hide-on-print">
                    <h2 class="display-4">
                        {{current_section?.name}}
                    </h2>
                    <hr>
    //</div>

enter image description here

作为附加信息:

@angular/cli: 1.2.6
node: 6.10.3
os: darwin x64
@angular/cli: 1.2.6
@angular/common: 4.3.2
@angular/compiler: 4.3.2
@angular/compiler-cli: 4.3.2
@angular/core: 4.3.2
@angular/forms: 4.3.2
@angular/http: 4.3.2
@angular/platform-browser: 4.3.2
@angular/platform-browser-dynamic: 4.3.2
@angular/router: 4.3.2

0 个答案:

没有答案