AngularJS-IE8HTML模板

AngularJS-IE8HTML模板,angularjs,Angularjs,有人知道在IE8中使用AngularJS的样板模板吗。在文档中,有一整节专门讨论如何使用IE8,看起来所需的步骤非常具体,但到目前为止,我在使用ng include等命令时几乎没有成功 如果这些步骤非常具体,那么我假设有人在某个地方有一些样板代码,可以与IE8一起使用,如果可以共享,我们将不胜感激。至少,如果它不起作用,那么您至少知道您已经从已知的基线开始,这样可以更容易地隔离问题。虽然问题应该更详细,但我可以谈谈我过去在管理IE8代码方面所做的工作 我不再担心样板文件和效率降低的程序,而是让约

有人知道在IE8中使用AngularJS的样板模板吗。在文档中,有一整节专门讨论如何使用IE8,看起来所需的步骤非常具体,但到目前为止,我在使用ng include等命令时几乎没有成功


如果这些步骤非常具体,那么我假设有人在某个地方有一些样板代码,可以与IE8一起使用,如果可以共享,我们将不胜感激。至少,如果它不起作用,那么您至少知道您已经从已知的基线开始,这样可以更容易地隔离问题。

虽然问题应该更详细,但我可以谈谈我过去在管理IE8代码方面所做的工作

我不再担心样板文件和效率降低的程序,而是让约曼替我处理这一切

约曼是一个固执己见的助手,类似于Rail的rake,可以帮助你更快地构建应用程序。只需下载生成器angular和yeoman即可开始

如果您不想将yeoman集成到您的产品中,请查看yeoman是如何制定IE8样板文件并使用测试应用程序进行复制的


我希望这能有所帮助。

我已经使用AngularJS创建了两个生产应用程序,它们在IE8中运行得非常好,只需几个javascript“修复”

首先,如果开发人员控制台未打开,console.log语句将失败。在生成angular应用程序的初始页面上,我使用以下js代码片段修复了它:

 // Avoid `console` errors in browsers that lack a console.
            (function() {
                var method;
                var noop = function () {};
                var methods = [
                    'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
                    'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
                    'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
                    'timeStamp', 'trace', 'warn'
                ];
                var length = methods.length;
                var console = (window.console = window.console || {});

                while (length--) {
                    method = methods[length];

                    // Only stub undefined methods.
                    if (!console[method]) {
                        console[method] = noop;
                    }
                }
            }());
其次,我使用toISOString转换日期时间戳。在IE中,该函数未实现,因此我使用以下代码段:

 /*IE8 toISOString hack */
            if (!Date.prototype.toISOString) {
                Date.prototype.toISOString = function() {
                    function pad(n) { return n < 10 ? '0' + n : n }
                    return this.getUTCFullYear() + '-'
                        + pad(this.getUTCMonth() + 1) + '-'
                        + pad(this.getUTCDate()) + 'T'
                        + pad(this.getUTCHours()) + ':'
                        + pad(this.getUTCMinutes()) + ':'
                        + pad(this.getUTCSeconds()) + '.'
                        + pad(this.getUTCMilliseconds()) + 'Z';
                };
            }
/*IE8 toISOString黑客*/
如果(!Date.prototype.toISOString){
Date.prototype.toISOString=函数(){
功能板(n){返回n<10?'0'+n:n}
返回此.getUTCFullYear()+'-'
+pad(this.getUTCMonth()+1)+'-'
+pad(this.getUTCDate())+'T'
+pad(this.getUTCHours())+':'
+pad(this.getUTCMinutes())+':'
+pad(this.getUTCSeconds())+'。'
+pad(this.getutcmillesons())+Z';
};
}
第三,IE中不支持forEach方法,因此我使用以下方法:

/*IE8 hack to support forEach */
            if (!Array.prototype.forEach) {
              Array.prototype.forEach = function(fn, scope) {
                for(var i = 0, len = this.length; i < len; ++i) {
                  fn.call(scope, this[i], i, this);
                }
              }
            }
/*支持forEach的IE8黑客*/
if(!Array.prototype.forEach){
Array.prototype.forEach=函数(fn,范围){
对于(变量i=0,len=this.length;i
所有这些代码片段都是从StackOverflow answers和《为我工作》中挖出的,但YMMV除外


我通读了angular IE8文档,没有遇到文档中描述的任何情况。对于指令,我使用的格式是:
,一切正常。

这里不是这样。相反,显示您尝试了什么,告诉我们什么不起作用,这样我们可以帮助您修复它。我的解决方案是删除不必要的逗号并添加分号。