0

Я попытался использовать другие предложения, данные StackOverflow перед тем, как задать этот вопрос.Backbone View - событие Render не срабатывает

В основном, эта проблема сводит меня с ума! Простой код для визуализации вида, который не стреляет в первую очередь, тем не менее, когда я пытаюсь запустить это через инструменты Chrome DEV Стреляет! .. код приведен ниже,

<!DOCTYPE html> 
 
<html> 
 
\t <head> 
 
\t <meta charset="utf-8"> 
 
\t <title>JS Bin</title> 
 
<script src="//jashkenas.github.io/underscore/underscore-min.js"></script> 
 
<script src="https://code.jquery.com/jquery-1.7.2.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js"></script> 
 

 
\t <script type="text/x-backbone" id="welcome-template"> 
 
\t \t <h1>Welcome <%=userName%></h1> 
 
\t </script> 
 
\t <script> 
 
\t \t var User = Backbone.Model.extend({ 
 
\t \t \t defaults: { 
 
\t \t \t userName: 'Shanun', 
 
\t \t \t userId: '232221', 
 
\t \t \t userDept: 'IT' 
 
\t \t \t } 
 
\t \t }); 
 

 
\t \t var user = new User(); 
 
\t  
 
\t \t var MyView = Backbone.View.extend({ 
 
\t \t \t initialize: function(){ 
 
\t   \t \t this.render(); 
 
\t  \t \t }, 
 
\t \t \t render: function(){ 
 
\t \t \t \t var template = $("#welcome-template").html(); 
 
\t \t \t \t var compiled = _.template(template, {userName: 'David'}); 
 
\t \t \t \t this.$el.append(compiled); 
 
\t \t \t } 
 
\t \t }); 
 

 
\t \t var myView = new MyView ({el: '#app', model: user}); 
 
\t \t myView.render(); 
 
\t </script> 
 
\t 
 
\t </head> 
 
\t <body> 
 
\t \t <div id="app"></div> 
 
\t </body> 
 
</html>

Может ли какой-нибудь пролить немного света?

Спасибо, Dave

ответ

0

не уволили? Я бы предположил, что рендер всегда запускается, но когда скрипт сценария обрабатывается в первый раз app div не отображается, поэтому его нельзя добавить.

+0

Вы на месте !. My Bad! .. Пришлось заключить мой блок внутри события $ (document) .ready(), и это решило проблему. Спасибо за подсказку !. –

Смежные вопросы