我使用pnotify错误和成功对话框没有任何问题,但提示对话框不想显示。我收到一个Uncaught TypeError: Cannot read property 'addClass' of undefined
错误。pnotify提示对话框不显示在余烬项目
有没有人成功地让这个工作?
jsbin:pnotify with ember
我使用pnotify错误和成功对话框没有任何问题,但提示对话框不想显示。我收到一个Uncaught TypeError: Cannot read property 'addClass' of undefined
错误。pnotify提示对话框不显示在余烬项目
有没有人成功地让这个工作?
jsbin:pnotify with ember
这里是一个工作示例:http://jsbin.com/fuqoke/1/
那么是什么问题。那么,Ember使用原型扩展。这种方法在不实现它们的浏览器中填充ECMAScript 5数组方法,为内置数组添加便利方法和属性,并使数组突变可观察。问题是,pnotify希望与正常的oldschool JavaScript数组一起工作。例如,这代码段它要遍历的数组:
...
for (var i in options.buttons) {
btn = options.buttons[i];
...
此循环也将遍历由灰烬添加到阵列中的方法(例如addObjects,firstObject,....)
所以2种方法来解决这个问题:
1)你修改pnotify代码,并有利于它;),具有更稳健的实现来循环阵列
...
for (var i = 0; i < options.buttons.length; i++) {
btn = options.buttons[i];
...
或
...
for (var i in options.buttons) {
if(options.buttons.hasOwnProperty(i)){
btn = options.buttons[i];
...
2)您禁用了Ember的原型扩展,我不建议使用。在这里你可以找到更多的信息:http://emberjs.com/guides/configuring-ember/disabling-prototype-extensions/但它会给你带来很多麻烦。
简而言之,它肯定是pnotify中的一个bug。
感谢您的详细解释! – Rudi 2014-11-19 19:47:00