使用[style] =“”的Angular 2 IE问题

时间:2017-01-04 09:13:13

标签: javascript html css internet-explorer angular

我遇到了一点点头疼,我正在使用角度2(2.0.0-beta.17),并且在所有浏览器中,正常人类使用我的应用程序工作正常。但显然IE 11<是一种痛苦,想要变得困难。

这是我在角度中包含的脚本:

doexit(code, 0, 0);

现在我使用以下模板:

<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>

问题是LINE 6:<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> 它只是我们最好的朋友IE中的一个问题,在chrome,firefox,它100%工作;

在我的组件导出类中,以下函数绑定到该样式:

[style]="reviewStyles(review.id)"

reviewStyles(id){ return this.styles[id]; } 将包含这样的内容:this.styles[id]但在IE中它不会返回任何样式,尽管如果在IE中我opacity: 1; left: 0;它确实显示了正确的CSS信息但它从不到达DOM元素?救命啊!

1 个答案:

答案 0 :(得分:2)

是的,[styles]不适用于IE,就像[hidden]属性一样。

IE有一种不同的方法来处理属性,并以某种方式说明了你对现代JS框架的看法。

我想在这里做跨浏览器实现的是:

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