javascript – 使用角度ng样式的问题,而不是在IE中更新

前端之家收集整理的这篇文章主要介绍了javascript – 使用角度ng样式的问题,而不是在IE中更新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Angular中创建了一个简单的指令,它生成一个滚动条来显示一些产品.

我遇到了代码的一部分问题.

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

在我的页面上执行此操作后,我得到了滚动条,“li”元素中的ng-style显示正确,而“ul”的ng-style则没有.

我尝试了多种解决方案,甚至试图从“li”元素添加相同的ng-style,它只是没有得到处理,也没有添加样式.

任何人都可以通过指出我的标记中的错误或可能导致一个ng样式处理Li元素而另一个不处理UL本身的原因来帮助我吗?

我遇到的另一个问题是currentMargin的值没有在IE8 / 9中更新,依此类推.

谢谢

解决方法

ng-style接受评估为对象的 Angular expression.这意味着如果你想在该表达式中使用一个变量,你可以直接使用它(没有双重曲线):
ng-style="{width: liWidth + 'px'}"

如果要将动态插值值插入接受字符串的参数,例如< img alt =“{{product.name}} logo”>,则使用双曲线.然后将表达式放在这些括号内.

猜你在找的JavaScript相关文章