2017-09-05 10 views
1

angle 2の外部ライブラリfootable(反応テーブルの場合)を使用している間に、すべてのイベントバインディング(クリック)が失われています。 試行ngZone、ChangeDetectorRef、ApplicationRef。すべての失われた角の出来事を縛ることができない結果はありません。外部javascript lib foot footを使用しているときにangle 2のclickイベントを失う

以下は私のコードスニペットを書きました。APIを呼び出した後、リストを取得して* ngforを使用してテーブルを作成します。

しかし、Footable.init()の後にdeactivateHospital()メソッドのバインディングが失われています。私がclickイベントを使用しようとすると、deactivateHospital()が機能しません。私がfootableをコメントすると、私のコードは正常に動作します。どのように私のdeactivateHospital()を戻してバインドするか考えていますか?私は、外部のJavaScriptライブラリがいくつかの問題を引き起こしていることを知っています。このための解決策はありますか?

plnkr追加:http://plnkr.co/edit/Np2ooN2M07pyVrQiM0Tv?p=preview

<tr data-expanded="true" *ngFor="let hospital of hospitalList"> 
     <td class="hospital-name">{{hospital.name}}</td> 
     <td ><span class="ha-name">{{hospital.admin}}</span><br><span class="ha-id">{{hospital.emailId}}</span> 
     </td> 
     <td>{{hospital.hsa_count}}</td> 
     <td>{{hospital.pcm_count}}</td> 
     <td>{{hospital.pcv_count}}</td> 
     <td>{{hospital.surgeons_count}}</td> 
     <td>{{hospital.prefcards_count}}</td> 
     <td class="active-status"><span class="active-bubble" ></span> 
Active 
     <span class="dropdown"> 
      <span class="dropdown-toggle mr-l-10" type="button" data- 
toggle="dropdown"> 
      <span class="glyphicon glyphicon-chevron-down"></span></span> 
      <ul class="dropdown-menu"> 
      <li ><a (click)="deactivateHospital(hospital.id)" ><span 
class="active-bubble"></span> Inactive </a></li> 
      </ul> 
     </span> 
     </td> 
    </tr> 

//角度コード

this.hospitalList = data["hospitals"]; 
     console.log(this.hospitalList); 
     setTimeout(()=>{ 
     FooTable.init($('.table'),{},()=>{ 
     console.log('hi..'); 
     }); 
    },0); 

    deactivateHospital(id){ 
    console.log('id',id); 
    } 
+0

<ul class="dropdown-menu"><li ><button class="footablebutton" (click)="deactivateHospital(hospital.id)" ><span class="active-bubble"></span> Inactive </button></li></ul> 

CSS、より良いはplunkrを持っています。それ以外の場合は、私たちがあなたを助けることは非常に困難です。 jsの外部ライブラリを使用した後、角度ゾーン内

  • Inactive
  • すなわち私のクリックイベントを取り戻すためにどのように – trungk18

    +1

    。上のコードを書くと、クリックイベントに応答しません。コードをplunkrに置くのは本当に難しいでしょう。私はあなたに詳細を提供することができます。 –

    +1

    http://plnkr.co/edit/Np2ooN2M07pyVrQiM0Tv?p=preview これは役に立ちます –

    答えて

    0

    を私はFooTableで角度4と5で同じ問題がありました。しかし、タグをボタンに変更すると、タグが再び動作するようになりました。私はボタンのように見えるようにスタイリングしました。この種の問題では

    .footablebutton { 
    background:none!important; 
    color:#337ab7; 
    border:none; 
    padding:0!important; 
    font: inherit; 
    cursor: pointer; } 
    
    .footablebutton :hover { 
    color:#23527c; } 
    
    +0

    あなたはコードスニペットを共有できますか? –

    +0

    絶対に。私はあなたのコードの一部を使用しました。 – Fred

    関連する問題