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 还没有被渲染所以它不能被追加。
在提出这个问题之前,我已经尝试了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 还没有被渲染所以它不能被追加。