Ember.js 1.10 - 无法在'Element'上执行'setAttribute':'''不是有效的属性名称

时间:2015-02-08 23:52:20

标签: javascript ember.js

从Ember.js 1.9升级到1.10后出现以下错误 -

未捕获的InvalidCharacterError:无法在'Element'上执行'setAttribute':'''不是有效的属性名称。

prototype.setAttribute = function(element, name, value) {
    element.setAttribute(name, String(value));
};

值为:

value: "" 
name: """ 
element: <span></span>

查找升级可能出现的问题以及应该修复的内容的最简单方法是什么?该错误不是非常用户友好。

1 个答案:

答案 0 :(得分:6)

排除故障的步骤:

  1. 打开已编译的模板(在我的情况下,它位于stacktrace VM.js:XXXX中)。
  2. 仔细阅读。
  3. 在我的情况下它包含

    var el1 = dom.createElement("span");
    dom.setAttribute(el1,"\"","");
    dom.appendChild(el0, el1);
    
    1. 与这些行对应的开源模板。
    2. e.g。

      <span {{action "setUrgency" urgentItem.urgency}} {{bind-attr class=urgentItem.styleClass}}"></span>
      
      1. 删除&#39; (这是一个问题)。
      2. 此问题是由错误的模板引起的(HTMLBars能够在没有警告的情况下编译它)但是在执行编译的模板期间发生了错误。修复模板后,一切正常。