我有一个带有关联 View 的规范模型:
var Item = Backbone.Model.extend({
url: function() {
return "/item/123"
}
});
var ItemView = Backbone.View.extend({});
但是,在服务器端,在 url“/item/123”处,我的 Django 应用程序不呈现 JSON 格式的内容,而是一个旨在直接插入主页面的 HTML 模板。如何在不彻底改变我的服务器提供动态内容的方式的情况下渲染模型?有可能还是我误解了 Backbone.js 背后的整个哲学?
只是给你一些背景知识:我正在通过集成 Backbone.js 来重构 Django Web 应用程序的 JS 代码。该应用程序本身不是很大,但它大量使用了 Ajax 调用。
最佳答案
我认为您不应该在模型
中加载模板。模板的加载和呈现通常是 view
的工作。尝试在 view
的 render
方法中使用 AJAX 直接加载 HTML:
var ItemView = Backbone.View.extend({
render: function(){
var that = this;
$.get('/item/123', function(html){
that.$el.html(html);
});
return this;
}
});
关于javascript - 从 Backbone.js 中的非 JSON 服务器响应创建模型实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15960498/