max*_*mus 2 javascript backbone.js
我正在学习骨干,面临以下问题.我想将新元素追加到View的this.el元素.但它不会发生.这是我的代码:
var MyData = Backbone.Model.extend({
initialize: function() {
this.bind('error', function(model, error) {
console.log('error:' + error);
});
},
defaults: {
name: "Jo",
age: 18,
skill: 0
},
validate: function(attributes) {
if (attributes.name == "Jonh")
return false;
return true;
}
});
var MyView1 = Backbone.View.extend({
initialize: function() {
this.$el.empty();
},
el: '#middle',
events: {
"click": "render"
},
render: function() {
this.$el.append(this.model.get('name'));
}
});
var myData = new MyData();
var myView1 = new MyView1( {model: myData} );
Run Code Online (Sandbox Code Playgroud)
在html文件中有一个div元素定义如下:
<div id="middle"></div>
Run Code Online (Sandbox Code Playgroud)
代码工作没有错误,但我没有看到任何附加元素.我也试图像这样追加:
this.$el.append($("<p>").append(this.model.get('name')));
Run Code Online (Sandbox Code Playgroud)
由于您的javascript脚本在加载页面之前加载,因此Backbone View无法看到#middlediv,因此您必须在加载页面后初始化视图:
$(document).ready(function() {
// load your views
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
300 次 |
| 最近记录: |