如何解决无法在 Backbone 中更改模型的 tagName
我正在尝试为我正在创建的模型设置 tagName
,但它不起作用。控制台中没有错误并且可以正常工作,但标记为 div
,没有在模型中指定的任何类、ID 或属性。
请帮忙。
jQuery(document).ready(function($) {
// NOTE: Basic Model of template
var ZcoBuilderModel = Backbone.Model.extend({
tagName : "span",className: "zco_builder_element",id : "1233",attributes : {
"data-type": "template"
},defaults: {
en_header: false,en_title: false,en_Content: false,en_Footer: false,en_deletable: false,title: "",en_template_status: false,id_header : 0,id_title: 0,id_Content: 0,id_Footer: 0,},initialize: function() {
console.log("Created");
}
});
// NOTE: Collaction of templates
var ZcoBuilderCollection = Backbone.Collection.extend({
model: ZcoBuilderModel
});
// NOTE: View template for Single Model
var ZcoBuilderView = Backbone.View.extend({
render: function() {
var zcoBuilderTemplate = _.template($('#zcoTemplate').html());
var zcoBuilderTemplateHTML = zcoBuilderTemplate(this.model.toJSON());
this.$el.html(zcoBuilderTemplateHTML);
return this;
}
});
// NOTE: View Template for Collection Model this will render above
var ZcoBuilderViewCollection = Backbone.View.extend({
render: function() {
var self = this;
this.model.each(function(e) {
var n = new ZcoBuilderView({
model: e
});
self.$el.append(n.render().$el);
});
}
});
// NOTE: defaults collection
var zcoBuilderDefaults = new ZcoBuilderCollection(
[
new ZcoBuilderModel({
title: "Global"
}),]
);
//Templates Rendering
var zcoBuilder = new ZcoBuilderViewCollection({
el: '#zco_list',model: zcoBuilderDefaults
});
$('#zco_list').html(zcoBuilder.render());
});
解决方法
tagName
、id
、className
、el
和 events
等属性在 {{1} 中使用时具有 special meaning },但是对于View
将其从 Model
移至 ZcoBuilderModel
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。