Backbone 查看 - 渲染事件未触发

Backbone View - Render event not firing

在提出这个问题之前,我已经尝试了Whosebug给出的其他建议。

基本上,这个问题让我抓狂!!一个简单的代码来渲染一个视图,它在第一个实例中没有触发,但是当我尝试通过 Chrome DEV 工具触发它时它触发了!.. 下面给出了代码,

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <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>

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

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

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

可以请一些人解释一下吗?

谢谢, 戴夫

没有被解雇?我会假设渲染总是被触发但是当脚本标签第一次被处理时 app div 还没有被渲染所以它不能被追加。