gpt4 book ai didi

javascript - 无法将新元素附加到 Backbone.js 中的 View.el

转载 作者:行者123 更新时间:2023-12-02 07:35:42 25 4
gpt4 key购买 nike

我目前正在学习主干,并面临以下问题。我想将新元素附加到 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} );

在html文件中有一个div元素定义如下:

<div id="middle"></div>

代码没有错误,但我没有看到任何附加元素。我也试过这样追加:

this.$el.append($("<p>").append(this.model.get('name')));   

最佳答案

由于您的 javascript 脚本在页面加载之前加载,Backbone View 看不到 #middle div,因此您必须在页面加载后初始化 View :

$(document).ready(function() {
// load your views
});

关于javascript - 无法将新元素附加到 Backbone.js 中的 View.el,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16871786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com