Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
И на будущее, начинайте проектирование системы с моделей, а не с View как это сделал я и...Вот, например, хороший пример как надо писать на bb, но там нет разделения по полочкам, которого мне не хватило…
Однако, совсем не вписывается в концепцию tdd/bdd
Эту статью будут читать вебдевелоперы, которые обладают определёнными знаниями в js, а не те, кто учится «ходить».
Вы, случайно, не будете выступать на javascript meetup?
var Block = Backbone.View.extend({
templates: { // Шаблоны на разное состояние
"start": _.template($('#start').html()),
"success": _.template($('#success').html()),
"error": _.template($('#error').html())
},
var Block = Backbone.View.extend({
initalize: {
this.templates = {
"start": _.template ($('#start').html()),
"success": _.template($('#success').html()),
"error": _.template($('#error').html())
}
},
Данный код не поддерживает хеш навигацию, плохо расширяется и очень плохо поддерживается.
$(function () {
var Family = {
_members: ["Саша", "Юля", "Елизар"]
, hasMember: function(username) { return $.inArray(username, this._members) != -1; }
}
$("#start input[type=button]").click(function () { // Обработчик нажатия кнопки
var username = $("#username").val(); // Получаем значение введенное пользователем
$("span.username").text(username);
$.bbq.pushState('#'+(Family.hasMember(username)? 'success' : 'error'));
});
$(window).bind('hashchange', function(){
$('.block').hide();
$('#'+($.param.fragment() || 'start')).show();
}).trigger('hashchange');
});
но это хорошие легко расширяемые строки
Backbone.js для «чайников»