Angular2强制重载ngIf(或在这种情况下的替代)

时间:2016-03-09 21:25:02

标签: angular

这是一个bootstrap twitter,button这个控制数据切换崩溃

<button class="btn btn-primary" ....
               aria-expanded="false">

这是nav-tabs内的bootstrap twitter,点击按钮时显示

<div *ngIf="ifActivoControl('1' + contadorObjet.name)"

      class="embed-responsive embed-responsive-16by9">
    <iframe class="embed-responsive-item"
        src="//www.youtube.com/v/YX.....">
    </iframe>
</div>

当angular2第一次渲染时,此函数ifActivoControl('1' + contadorObjet.name)返回false。

此功能用于测试不重视

ifActivoControl(test: any): boolean{

      let booleanStr = document.getElementById(test).getAttribute('aria-expanded');
      let bool: boolean = false;

      if(booleanStr === 'false'){
        bool = false;
      }else{
        bool = true;
      }

    return bool;
    }

aria-expanded="false"而返回false,但当切换为true aria-expanded="true"时,我该怎么做,ngIf再次检查。

这可能不是最好的方法,但正如我所尝试的那样,我希望你理解我的意思。

更新

我在阅读了Marcos Rajcok的这篇answer之后解决了这个问题,

https://angular.io/docs/ts/latest/api/core/ChangeDetectorRef-class.html#!#detach

但我不知道这是不是最好的方法。我做的第一次测试,它按预期工作

0 个答案:

没有答案