Получавам горната грешка само в IE. редът, който извежда грешката, е очевидно
element.setAttribute('data-view', viewId);
във viewEngine.js
createView: function(viewId) {
var that = this;
var requirePath = this.convertViewIdToRequirePath(viewId);
var existing = this.tryGetViewFromCache(requirePath);
if (existing) {
return system.defer(function(dfd) {
dfd.resolve(existing.cloneNode(true));
}).promise();
}
return system.defer(function(dfd) {
system.acquire(requirePath).then(function(markup) {
var element = that.processMarkup(markup);
element.setAttribute('data-view', viewId);
that.putViewInCache(requirePath, element);
dfd.resolve(element.cloneNode(true));
}).fail(function(err) {
that.createFallbackView(viewId, requirePath, err).then(function(element) {
element.setAttribute('data-view', viewId);
that.cache[requirePath] = element;
dfd.resolve(element.cloneNode(true));
});
});
}).promise();
},
редактиране: стесних го до грешката, възникваща между activate() и binding() в жизнения цикъл. Не съм сигурен обаче дали това е от полза.
edit2: при по-нататъшно разследване открих, че processMarkup(markup) не връща HtmlDivElement, както би трябвало и обикновено го прави за всички други модули...