使用Ember.set()设置'内容'属性

时间:2014-12-10 15:43:12

标签: ember.js

我们遇到的问题似乎与https://github.com/emberjs/ember.js/pull/9767非常相似。我们得到的错误如下:

Error while processing route: [route-name] Assertion Failed: You must use Ember.set() to set the 'content' property (of [route]) to 'undefined'.

唯一的区别是它抱怨内容'而不是'控制器'并且它正试图将其设置为未定义的'。这仅适用于少数用户,而且似乎主要是旧的Android设备。我们设法在运行android 2.3.4的设备上的默认浏览器中重现错误。

有没有人知道为什么会这样?在旧的Android设备上进行调试很痛苦!

1 个答案:

答案 0 :(得分:0)

我在StackOverflow上忘了这个问题,我们团队中的其他人已经为此问题做了修复。这行代码:

return self.getJSON(self.get('dataUrl'))
    .then(self.get('_modelMap').bind(self))

已更改为:

return self.getJSON(self.get('dataUrl'))
    .then(function(data) {
        return self._modelMap(data);
    })

这是在我们的一个基本控制器中完成的。

在同一次提交中,把手也从v1.3.0升级到v2.0.0。不知道是否需要这个来解决问题。

希望这可以帮助其他人解决同样的问题:)