Reputation: 1003
Any instance of Backbone doesn't work, my console says it's undefined...
As of now it says: Uncaught TypeError: Cannot call method 'start' of undefined
Which correlates to this line:
Backbone.history.start()
This is my code for app.js:
app =
facebookAuth()
class manageView extends Backbone.View
constructor: ->
super
initialize: ->
template: _.template($('#manage').html())
render: ->
$('#page').append(@template())
class AppRouter extends Backbone.Router
routes:
"": "manage"
initialize: ->
manage: ->
new manageView()
$(document).ready( ->
console.log('document ready')
app.AppRouter = new AppRouter()
Backbone.history.start()
)
And this is how I've included my js files (they all point to the correct path):
<script type="text/javascript" charset="utf-8" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/underscore-min.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/backbone-min.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/bootstrap.min.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/less-1.3.0.min.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/facebook-auth.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
Can anyone tell me why? Thanks!
Upvotes: 1
Views: 2482
Reputation: 1269
Probably router wasn't created at that moment. Try next:
class AppRouter extends Backbone.Router
routes:
"": "manage"
initialize: ->
Backbone.history.start()
manage: ->
new manageView()
$(document).ready( ->
console.log('document ready')
app.AppRouter = new AppRouter()
)
Upvotes: 2