den*_*icz 3 jquery coffeescript ruby-on-rails-3
我有一个CoffeeScript文件,其中我正在编写一个与音频播放器交互的类,但由于某种原因,我无法让它在我的Rails应用程序中的另一个coffeeScript文件中很好地播放.
player.coffee:
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
Run Code Online (Sandbox Code Playgroud)
player_interactions.coffee
$ ->
jw = window.Player "player" || {}
$('.play').click ->
jw.play('test')
Run Code Online (Sandbox Code Playgroud)
我一直收到这个错误:
Uncaught ReferenceError: Player is not defined
它现在使用上面的代码示例
Ped*_*der 16
要使类具有全局可寻址性,您应该在类的名称前面添加"@"(除非您在闭包内,在这种情况下,您需要在其前面添加"window".但您可能不希望这样做) .
player.coffee
class @Player
constructor: (@player = "player") ->
...
play: (track_data) ->
...
Run Code Online (Sandbox Code Playgroud)
player_interactions.coffee
jw = new Player
Run Code Online (Sandbox Code Playgroud)