我有一个 CoffeeScript 文件,我正在其中编写一个与音频播放器交互的类,但由于某种原因,我无法让它在我的 Rails 应用程序中的另一个 CoffeeScript 文件中很好地播放。
玩家.咖啡:
window.Player = ->
constructor: (@player_id = "player") ->
jw = {
'flashplayer':"<%= asset_path('player.swf') %>"
'controlbar': 'top'
'autostart': 'false'
'width':'400'
'height':'49'
'playlist': '[]'
'skin':"<%= asset_path('awardfm.zip') %>"
'dock':'false'
'wmode':'transparent'
}
jwplayer(@player_id).setup(jw);
play: (track_data) ->
console.log track_data
player_interactions.coffee
$ ->
jw = window.Player "player" || {}
$('.play').click ->
jw.play('test')
我不断收到此错误:
Uncaught ReferenceError :玩家未定义
现在可以使用上述代码示例
最佳答案
要使类可全局寻址,您应该在类名称前加上“@”前缀(除非您位于闭包内,在这种情况下,您需要在其前面加上“window”前缀。但您可能不想这样做无论如何)。
玩家.咖啡
class @Player
constructor: (@player = "player") ->
...
play: (track_data) ->
...
player_interactions.coffee
jw = new Player
关于jquery - CoffeeScript 类和 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7759793/