我有这个用 CoffeeScript 编写的课程:
Notification.js.coffee
class Notification
display: ->
@dom.show()
constructor: (header, messages) ->
@render(header, messages)
基本上,render()
函数代码的逻辑是将 HTML 注入到 DOM(但隐藏)和display()
方法只是shows
DOM 元素。现在,我有一些其他类与这个类分开,我正在尝试使用上面的类。
SharerController.js.coffee
class SharerController
post_story: ->
# some user action posting something in the app
notification = new Notification('Header', ['This story has been posted.', 'You can post more. Would you like to?'])
notification.display()
不幸的是,出于某种原因 - 我明白了
TypeError: 'undefined' is not a function (evaluating 'notification.display()')
在上面我做的那一行notification.display()
。如果我在 Notification 类中编写相同的代码(所有内容都被包装到 IIFE 中),则相同的代码绝对可以正常工作。上述文件的加载顺序是:Notification.js 和 SharerController.js
我到底在这里想念什么?