gpt4 book ai didi

javascript - 更改backbone.js中的 View 模型

转载 作者:行者123 更新时间:2023-12-02 16:46:53 24 4
gpt4 key购买 nike

我正在尝试更改backbone.js中模态对话框 View 的模型,但是......到目前为止还没有运气。

这是我的代码:

var modal,
myCollection;

var MyModal = Backbone.View.extend({
template: _.template($('#modalTemplate').html()),
initialiaze: function (options) {
this.$el = options.el;
this.model.on('change', this.render, this);
},
render: function () {
this.$el.html(this.template(this.model.toJSON()));
return this;
},
events: {
'click .close-modal': 'closeModal'
},
openModal: function (model) {
this.model.set(model);

$('.modals').removeClass('hidden').fadeIn();
},
closeModal: function (e) {
e.preventDefault();
this.$el.addClass('hidden');
}
});

var GridView = Backbone.View.extend({
el: $('#grid'),
template: _.template($('#template1').html()),
initialize: function (options) {
this.options = options;
this.render();
},
events: {
'click div.grid': 'openGridGallery'
},
openGridGallery: function (e) {
e.preventDefault();
modal.openModal(myCollection.at(0));
},
render: function () {
myCollection = new Backbone.Collection(this.model.get([0]));
// ......

modal = new MyModal({ model: new Backbone.Model(), el: $('.modals') });
$('.modals').append(modal.render());
}
});
<div class="modals"></div>

<script type="text/template" id="modalTemplate">
<div id="mymodal" class="modal">
<div class="close"><a href="#"><span class="close-modal icon-close"></span></a></div>
</div>
</script>

这对于创建模式对话框并显示它是有效的。但是, this.model.set(model); openModal 方法内部似乎没有做任何事情。我做错了什么?

谢谢

最佳答案

模型的 set 方法需要参数为 JSON,所以试试这个

 this.model.set(model.toJSON());

关于javascript - 更改backbone.js中的 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27055985/

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