Emberjs Hashbang is getting Uncaught ReferenceError: set is not defined
Emberjs Hashbang is getting Uncaught ReferenceError: set is not defined
我通过 ember-cli 实现了 ember.js hashbang。因此,在我的 app/initializer 文件夹中,我有一个 application.js,其中包含上一个问题的解决方案:
Hashbang URLs using Ember.js
当我 运行 代码时它工作得很好但是当我转到另一条路线时我得到:
Uncaught ReferenceError: set is not defined
但是当我刷新页面时它加载得很好,直到我尝试转到另一条路线。
所以
example.com/#!/
将加载
example.com/#!/nextRoute
我得到了转换 #1:转换完成。但页面上没有呈现任何内容
听到问题是 set
未定义,您可能并不感到惊讶。
在您链接到的 HashBangLocation
的原始实现中,顶部有一行
var get = Ember.get, set = Ember.set;
在你重新实现的初始化里面,我没有看到这一行。 JSHint 可能会为您发现此错误。如果您查看转译后的代码,看不到 set
的定义。
要解决此问题,请将 var get = Ember.get, set = Ember.set
行重新添加到您的代码中,或改用 self.set('lastSetURL', null);
。
所以如果没有 set
,get
是如何工作的?原来 Ember 中有一个错误。在源代码的某一时刻,get
在全局范围内声明。
我通过 ember-cli 实现了 ember.js hashbang。因此,在我的 app/initializer 文件夹中,我有一个 application.js,其中包含上一个问题的解决方案: Hashbang URLs using Ember.js
当我 运行 代码时它工作得很好但是当我转到另一条路线时我得到:
Uncaught ReferenceError: set is not defined
但是当我刷新页面时它加载得很好,直到我尝试转到另一条路线。
所以
example.com/#!/
将加载
example.com/#!/nextRoute
我得到了转换 #1:转换完成。但页面上没有呈现任何内容
听到问题是 set
未定义,您可能并不感到惊讶。
在您链接到的 HashBangLocation
的原始实现中,顶部有一行
var get = Ember.get, set = Ember.set;
在你重新实现的初始化里面,我没有看到这一行。 JSHint 可能会为您发现此错误。如果您查看转译后的代码,看不到 set
的定义。
要解决此问题,请将 var get = Ember.get, set = Ember.set
行重新添加到您的代码中,或改用 self.set('lastSetURL', null);
。
所以如果没有 set
,get
是如何工作的?原来 Ember 中有一个错误。在源代码的某一时刻,get
在全局范围内声明。