AngularJS ng-style 和 Internet Explorer 8

4

我有一个问题,我似乎无法理解。

在IE8中,指令ng-style似乎根本不起作用。我正在使用它来设置元素的宽度。在所有其他浏览器上,它都可以正常工作。

在IE8上,使用糟糕的F12工具检查元素时,样式属性完全丢失。

有人能告诉我是否有解决方法吗?我正在使用的angularjs版本是撰写时的稳定版本(1.0.2)

谢谢


你能发一个 jsFiddle 吗?在 IE8 模式下它对我来说运行良好:http://jsfiddle.net/g/NLrYx/1/ - Guillaume86
确实有效。我正在使用$scope中的变量来设置我的代码中的宽度。我无法在fiddle中复制整个内容,但我会进行更多实验并更新主题。 - Matteo Mosca
请检查JS控制台和IE调试窗口中的解释DOM是否有错误。我已经看到IE8在属性内部使用复杂文本时会遇到困难。 - Guillaume86
好的,问题出在另一个脚本上,现在在IE8中它可以正常工作了,但是在IE7中根本不起作用,这意味着似乎angular引擎甚至没有启动。即使您发布的fiddle在IE7中也无法工作。有没有更多的事情可以做来让angular在IE7中工作? - Matteo Mosca
对我来说它加载得很好,我只在IE7模式下尝试了IE9(没有真正的IE7),但大多数情况下它都能正常工作。编辑:哎呀,你是对的,它并不完全工作,颜色绑定可以工作,但{{}}标签不行。 - Guillaume86
@MatteoMosca 我也遇到了类似的问题。我有 $scope.test = "test",但 {{test}} 在 HTML 页面上不会显示。你是哪个脚本出了问题?你是如何在 IE8 上解决的? - Curt
1个回答

2

非常奇怪。因为我刚刚解决了它,但是用了不同的方法。我没有填充任何内容,只是在我的根div上放置了id="ng-app",它就可以在IE7中正常工作,而无需将任何内容字符串化。 - Matteo Mosca
1
你能发一个 Fiddle 吗?听起来不对劲,你可能在两次引导 Angular,并且 IE7 没有 JSON,所以尝试在对象上使用 {{}} 会始终失败,除非使用 polyfill。 - Guillaume86
不是这样的。我注意到在IE7中,我有两种引导启动的方式:一种是通过代码(使用angular.bootstrap方法),另一种是通过属性,但仅使用ng-app属性是不起作用的。它还需要id="ng-app"才能引导启动。 - Matteo Mosca

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接