在骨干网中更改视图的模型.js
changing view's model in backbone.js
我正在尝试更改主干中模态对话框视图的模型.js而且...到目前为止没有运气。
这是我的代码:
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 方法中似乎什么也没做。我做错了什么?
谢谢
模型的集合方法期望参数JSON
所以试试这个
this.model.set(model.toJSON());
在 GridView
的渲染函数中,你应该传递new Backbone.Model()
。此外,您应该在按照@aktiv编码员的说法进行设置之前将模型转换为 JSON。
render: function () {
//...
modal = new MyModal({ model: new Backbone.Model(), el: $('.modals') });
$('.modals').append(modal.render());
}
相关文章:
- 如何使用backbone.js从集合中获取模型名称
- 骨干模型默认值-todos.js示例中不必要的代码
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- Ext.js从json构建模型关系的问题
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- spine.js在启动时填充模型实例
- Three.JS OBJ模型未显示
- Backbone.js将模型绑定到视图时出错
- 使用树模型 js 异步树遍历
- 在 ember 上复制嵌套模型.js(成功保存后)
- 如何获取语言模型JS文件
- 在鼠标点击位置添加3D模型.js
- 如何将实例方法添加到帆中的所有模型.js
- 导出 MONGO 数据库连接到模型.js文件
- 在骨干网中更改视图的模型.js
- 使Node.js与树模型js协同工作
- 使用没有视图模型. js文件的knockout组件
- 骨干中的嵌套模型.js,如何接近
- 如何将值从集合传递到主干中的模型.js
- 在 Backbone 中查找模型.js按 cid 而不是 id 收集