2014-11-21 154 views
6

不更新我创建在角的简单指令,它产生一滚轮,以显示一些产品。问题IE

我在与代码的一部分的问题。

  <ul ng-style="{'margin-left':{{currentMargin}}+'px'}"> 
       <li ng-repeat="tyre in tyres" ng-style="{'width':{{liWidth}}+'px'}"> 
        <div class="imageContainer"><img src="../Images/eutl/{{tyre.image}}"/></div> 
        <div class="details"> 
         <h3>{{tyre.name}}</h3> 
         <a href="{{tyre.link}}">About this tire</a> 
        </div> 
       </li> 
      </ul> 

and this is what it looks like in the browser once executed 
<ul ng-style="{'margin-left':0+'px'}"> 
<!-- ngRepeat: tyre in tyres --> 
<li ng-repeat="tyre in tyres" ng-style="{'width':265+'px'}" class="ng-scope" style="width: 265px;"> 
    <div class="imageContainer"><img src="../Images/eutl/tire.jpg"></div> 
    <div class="details"> 
     <h3 class="ng-binding">Fuel Efficient</h3> 
     <a href="#">About this tire</a> 
    </div> 
</li> 
<!-- end ngRepeat: tyre in tyres --></ul> 

我的网页上执行此之后,我得到的滚动条和“礼”元素中的NG-Style获取正确显示,而NG式的“UL”没有。

我试过多种解决方案,甚至还试图从“礼”元素添加完全相同的NG-风格,它只是没有得到处理,不添加风格。

谁能帮我指出了我的标记错误或可能的原因一个NG式工作的李元素和其他没有工作的UL本身?

时遇到的另一个问题是,currentMargin的值未在IE8/9更新等。

感谢

回答

7

ng-style接受一个Angular expression中的一个对象。这意味着,如果要使用该表达式中的变量,则可以直接使用它(没有双花括号):

ng-style="{width: liWidth + 'px'}" 

双花括号中使用时要插入一个动态的,内插的值,以一个接受字符串的参数,如<img alt="{{product.name}} logo">。然后你在里面放置一个表达式

+0

惊人的,它的工作原理。感谢您的解释! – 2014-11-21 11:21:49

+0

保存我的一天,欢呼! – Sohail 2016-12-12 12:38:12

5

尽量做到:

ng-style="{'width':liWidth+'px'}"> 

没有花括号,很多NG指令不喜欢它