Я пытаюсь создать небольшое приложение, использующее Backbone для визуализации представлений для аутентификации пользователей. Вот скрипка demo http://jsfiddle.net/mjmitche/RRXnK/182/Просмотр не рендеринг при создании из другого представления
При инициализации три ссылки появляются в аутентификации div «span6», помещенной там AuthView.
<div class="span6 authentication">
<div class="row authentication">
<a href="#login" id="login" data-toggle="tab" data-content="login">Login</a>
<a href="#signup" id="signup" data-toggle="tab" data-content="signup">Sign up</a>
<a href="#retrieve-password" id="retrievePassword" data-toggle="tab" data-content="retrievePassword">Retrieve password</a>
</div>
<div class="content" id="auth-content">I want the sign up view to appear in this div if I click on the Sign Up link</div>
</div>
Есть три клик, установленные в AuthView
events: {
'click .row.authentication a#login': 'login',
'click .row.authentication a#signup': 'signup',
'click .row.authentication a#retrievePassword': 'retrieve'
},
Если я нажимаю регистрацию, например, (как в скрипке), он создает RegistrationView и пытается поставить в # auth-content div
signup: function(){
alert("from signup method of auth view");
var signUpView = new UserRegistrationView({model : this.model}).render().el;
alert(signUpView);
$('#auth-content').html(signUpView);
},
Однако он не работает. Второе предупреждение, как вы можете видеть на скрипке, не срабатывает. Это вид регистрации.
var UserRegistrationView = Backbone.View.extend({
initialize:function() {
_.templateSettings = {
interpolate : /\{\{=(.+?)\}\}/g,
escape : /\{\{-(.+?)\}\}/g,
evaluate: /\{\{(.+?)\}\}/g
};
var template = $('#signup_template').html();
this.template = _.template(template);
},
render: function(){
alert("render of Registration View");
$(this.el).html(this.template());
}
})
Может кто-нибудь указать, в чем проблема может быть с этой настройкой. Для чего это стоит, JSHint говорит, что код действителен.