2017-01-04 2 views
1

私は少し頭痛にぶつかりました。角度2(2.0.0-beta.17)を使用しています。完璧に働いています。しかし明らかにIE 11 <は痛みであり、難しいと思っています。[style] = ""を使用した角2 IEの問題

これは私が角度のために頭の中に含めていたスクリプトです:今、私は次のテンプレートを使用

<script type='text/javascript' src='https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.35.2/es6-shim.min.js'></script> 
<script type='text/javascript' src='https://code.angularjs.org/2.0.0-beta.17/angular2-polyfills.min.js'></script> 
<script type='text/javascript' src='https://code.angularjs.org/tools/system.js'></script> 
<script type='text/javascript' src='https://code.angularjs.org/tools/typescript.js'></script> 
<script type='text/javascript' src='https://code.angularjs.org/2.0.0-beta.17/Rx.min.js'></script> 
<script type='text/javascript' src='https://code.angularjs.org/2.0.0-beta.17/angular2.min.js'></script> 

<div *ngIf="review_items" class="review-item"> 
    <a class="left" (click)="scrollAction('left')"><i class="fa fa-chevron-left" aria-hidden="true"></i></a> 
    <a class="right" (click)="scrollAction('right')"><i class="fa fa-chevron-right" aria-hidden="true"></i></a> 
    <a href="#" class="view-reviews">See all {{review_count}}</a> 
    <div class="reviews-content"> 
     <div *ngFor="let review of review_items" [style]="reviewStyles(review.id)"> 
      <div class="author">{{review.review_name}} <i>Verified Buyer {{review.date}}</i></div> 
      <div class="tour"> 
       <b>{{review.title}}</b> 
       <div class="star-rating" [innerHTML]="review.stars"></div> 
      </div> 
      <div class="description"> 
       <div *ngIf="review.single_content"> 
        <div [innerHTML]="review.single_content"></div> 
       </div> 
       <div *ngIf="review.hidden_content"> 
        <div [innerHTML]="review.visible_content" style="display: inline;"></div> 
        <div [innerHTML]="review.hidden_content" [style.display]="displayReadMore(review.id)"></div> 
        <a href="#" class="read-more-review" (click)="readMore($event,review.id)" [innerHTML]="review.showmore_button"></a> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

を問題は、LINE 6:[style]="reviewStyles(review.id)"とそれだけです私たちの親友IEの問題、クロム、ファイアフォックス、エッジそれは100%動作します。

私のコンポーネントエクスポートクラスでは、以下の機能がそのスタイルにバインドされていますIEであればが、私はconsole.log(this.styles[id]);opacity: 1; left: 0;が、IEでそれはどんなスタイルを返しません:

reviewStyles(id){ 
     return this.styles[id]; 
    } 

this.styles[id]はこのようなものが含まれます正しいCSS情報が表示されますが、DOM要素に到達することはありませんか?助けて!

答えて

2

はい、[styles]は、[hidden]属性と同じように、IEでは機能しません。

IEには、属性を処理する方法とは異なる方法があります。現代のJSフレームワークをスクラブする方法があります。私はむしろ、クロスブラウザの実装のために、ここで何をするのか

は次のとおりです。

<div *ngFor="let review of review_items" [style.opacity]="1" [style.left]="0"> 
+0

おかげ@nashcheez、それは苦痛ですが、実行する必要があります。 –

+3

さらに柔軟性(動的スタイルのプロパティ名)のために '[ngStyle] =" ... "を使うことができます –

+1

@GünterZöchbauerあなたは本当のMVPです。両方のソリューションが機能しましたが、私はGüntersを使用します。 –