在ie8和angularjs中视图无法更新
View not updating in Internet Explorer 8 and angularjs
我们正在开发一个需要IE8支持的单页应用程序。应用程序本身的界面非常简单(基本上是一个主屏幕,允许你选择你想要填写的表单,许多动态表单,以及一个基于你填写的表单的结果屏幕)。
所以我们实现了核心导航,在IE8中尝试了一下,一切正常,很高兴(就像你在IE8中一样高兴)。
项目继续进行,我们实现了所有核心表单的东西,添加了CSS和更多的HTML和…导航开始表现得很奇怪(在IE8中):一些链接(不是全部,更奇怪的是)不更新视图。URL更新正确,如果刷新浏览器,页面将按原样显示。
为了改变页面,我们在导航服务中使用$location(没有直接的#/whatever),注入到控制器中。路由由$routeProvider
完成。
我们遵循https://docs.angularjs.org/guide/ie上的一切(ng-app
和id
在html标签,没有标签,只有属性等)。在Chrome, FF, Safari中工作完美。
这似乎是一个奇怪的错误,由(至少)select2调用Array引起的。forEach (IE8不支持):
function cleanupJQueryElements() {
var self = this;
Array.prototype.forEach.call(arguments, function (element) {
self[element].remove();
self[element] = null;
});
}
它已经被修复了(已经有一段时间了),并被
所取代$.each(arguments, function (i, element) {
self[element].remove();
self[element] = null;
});
IE8本身没有报告错误,但我们在IE8模拟模式下运行IE11时发现了这个问题(并捕获了所有异常,因为原始消息缺乏任何问题所在的指示)。
相关文章:
- 在控制器之间切换,可以't更新视图
- 拖动&删除Fullcalendar.io资源-更新视图
- 由控制器调用的服务更改时,Angular未更新视图
- 如何在Knockout.js中选中复选框时更新视图模型及其依赖项
- 当视图在AngularJS中返回时,我如何获得异步服务调用来更新视图
- 角度:当输入更改时更新视图 + .this/$scope
- 数据库中的数据更改时更新视图
- ng单击需要两次才能更新视图
- 范围变量更新,但不更新视图
- 在jquery中更新视图模型
- 在Meteor.js中通过同一路线内的锚点标签更新视图
- 更新视图和控制器之间的角度重复数据值的最佳方式是什么
- AngularJS 服务不会更新视图
- AngularJS 模式单例在服务中未更新视图
- 角度 JS 脚本未更新视图
- AngularJS 在$rootScope更改时更新视图
- 如果外部应用程序更改了持久模型(服务器数据库),AngularJS 是否可以自动更新视图
- AngularJS$scope更改不更新视图
- 如何在不使用映射的情况下更新视图模型
- 用于引导程序选择的挖空自定义绑定,不更新视图模型“选定类别/选定类别”