2014-03-06 21 views
2

我有一个适用于所有真实浏览器的angularjs应用程序。问题是与Internet Explorer 10AngularJS和Internet Explorer 10:没有卷曲大括号替换

我已经在应用程序做了很多这样的东西

<div style="font-size: {{data.font_size}}px"></div> 

虽然这部作品在Firefox,Safari和Chrome精细,它根本不使用Internet Explorer工作。

为了说明我已经创建了一个的jsfiddle问题:http://jsfiddle.net/U3pVM/3328/与Chrome和Internet Explorer尝试。字体大小为30,但不在IE中。

我会很高兴,如果有人能告诉我为什么会出现这种情况,如果有什么我能做的除了重新实现了整个事情。

即使我重新实现应用在style属性没有双花括号,NG-SRC还需要有大括号内。

+0

在这种情况下,您应该使用ng-class。 IE10在{{}}方面有很多问题 – Fals

+0

上面的东西只是一个例子,像ng-src之类的东西需要花括号来存在。那我该怎么做? –

+1

而不是使用插图考虑再现你的问题在小提琴或jsbin与一个真实的例子 –

回答

0

我会建议你改变双括号自带形式AngularJS和检查。它将与其他字符,如{[{data.font_size}]}/工作,使他们可行的,你需要声明它们的角模块,如:

ModuleApp = angular.module('ModuleApp', []); 

    ModuleApp.config(function($interpolateProvider) { 
     $interpolateProvider.startSymbol('{[{'); 
     $interpolateProvider.endSymbol('}]}'); 
    }); 

还要检查,如果你的角度代码获得初始化。

标记:

<div custom-directive ng-style="setWidth()"></div> 

角:

link: function(scope, elem, attrs) { 
    scope.setWidth = function() { 
    return { "width": "200px" } 
    } 
} 

您可以通过使用ng-style像这样把所有的角码框下面

(function(){ 
//ALL AANGULAR CODE 

})(); 
1

我最终解决这一问题ng-style需要一个对象,它具有一个作为CSS样式名称的键和作为值的值相应的风格。这适用于所有浏览器。

0

您还可以设置NG风格的内部范围的变量,就像这样:

<div ng-style="{font-size: data.font_size}"></div> 

确保您data.font_size有“PX”追加到它。