Skip to content

Instantly share code, notes, and snippets.

@kneipp
Created February 21, 2016 16:39
Show Gist options
  • Save kneipp/c128f868555cbe9de0ee to your computer and use it in GitHub Desktop.
Save kneipp/c128f868555cbe9de0ee to your computer and use it in GitHub Desktop.
Backbone.js experiment
<html>
<head>
<meta charset="UTF-8">
<title>Backbone.js</title>
</head>
<body>
<!--<div style="border:1px solid red;" id="categories"></div>-->
<div style="border:1px solid blue;" id="boards"></div>
<!--<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>-->
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>-->
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.3/backbone-min.js"></script>-->
<script src="assets/js/jquery-2.2.0.min.js"></script>
<script src="assets/js/underscore-min.js"></script>
<script src="assets/js/backbone-min.js"></script>
<script>
$(function() {
var Board = Backbone.Model.extend();
var BoardList = Backbone.Collection.extend({
model: Board,
url: 'boards.json'
});
var BoardView = Backbone.View.extend({
el: '#boards',
template: _.template($('#boardTemplate').html()),
render: function(eventName) {
_.each(this.model.models, function(board){
var boardTemplate = this.template(board.toJSON());
$(this.el).append(boardTemplate);
}, this);
return this;
}
});
var boards = new BoardList();
var boardsView = new BoardView({model: boards});
boards.fetch({
success: function() {
boardsView.render();
}
});
});
</script>
<script id="boardTemplate" type="text/template">
<div class="boards">
<div class="id">
<%= id %>
</div>
<div class="name">
<%= name %>
</div>
<div class="category_id">
<%= category_id %>
</div>
<div class="default_is_reserved_word_and_need_be_escaped">
<%= this.default %>
</div>
<div class="background_image">
<img src="<%= background_image %>" width="200" />
</div>
</div>
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment