1

バックボーンと JavaScript を開始したばかりで、コンソールに次のエラーが表示されます。

players = new Dww2.Collections.Playermaps()
ReferenceError: Dww2 is not defined

アプリケーション.js

//= require jquery
//= require jquery_ujs
//= require underscore
//= require backbone
//= require dww2
//= require_tree ../templates
//= require_tree ./models
//= require_tree ./collections
//= require_tree ./views
//= require_tree ./routers
//= require_tree .

playermaps_router.js.coffee

class Dww2.Routers.Playermaps extends Backbone.Router

  routes:
    'playermaps': 'index'

  initialize: ->
    @collection = new Dww2.Collections.Playermaps()
    @collection.reset($('#container').data('playermaps'))

  index: ->
    view = new Dww2.Views.PlayermapsIndex(collection: @collection)
    $('#container').html(view.render().el)

playermaps.js.coffee

class Dww2.Collections.Playermaps extends Backbone.Collection

  url: '/playermaps'
  model: Dww2.Models.Playermap

dww2.js.コーヒー

window.Dww2 =
Models: {}
Collections: {}
Views: {}
Routers: {}
initialize: ->
  new Dww2.Routers.Playermaps()
  Backbone.history.start(pushState: true)

$(document).ready ->
 Dww2.initialize()
4

1 に答える 1

0

次の行はどこで宣言されていますか?

players = new Dww2.Collections.Playermaps();

players変数がページのインライン要素で宣言されている場合<script>、新しいDww2.Collections.Playermaps. この場合、window.Dww2まだ存在せず、未定義になります。

Dww2.Collections.Playermaps$(document).ready 関数でオブジェクトを作成することで修正できます。

于 2013-07-07T03:37:03.533 に答える