骨干:传递模型属性给视图返回未定义
Backbone: Pass Model Attribute to a View returns undefined
var ShapeSizePoolView = Backbone.View.extend({
el : $('#agpb_shape_size_body'),
tmpl : $('#tmpl_agpb_shape_size').html(),
initialize : function() {
this.render();
},
render : function() {
var compiled_template = _.template( this.tmpl, this.model.toJSON() ),
sizes = this.model.get('sizes');
$(this.el).append( compiled_template );
// this is used for our pool sizes
for(var i = 0; i < sizes.length; i++) {
console.log(sizes[i]);
new ShapeSizePoolButtonView(
{
size : sizes[i],
el : $(this.el).find('.agpb_size_list')
});
}
}
});
var ShapeSizePoolButtonView = Backbone.View.extend({
tmpl : $('.tmpl_agpb_shape_size_button').html(),
initialize : function() {
// this.render();
console.log( this.size );
},
render : function() {
var compiled_template = _.template( this.tmpl, this.sizes );
$(this.el).append( compiled_template );
}
});
this.model.get('sizes')返回一个对象数组。如果我输入console。log ShapeSizePoolView中的一个对象我得到:
{
id: "6",
dimensions: "12'",
price: "649.99",
sort_order: "1"
}
我将这个对象传递给一个新视图,但是如果我console.log this。size from ShapeSizePoolButtonView我得到:
undefined
有谁知道我哪里错了吗?
谢谢!
From the Backbone docs:
因此,您可以使用创建新视图时,合并后传递的选项添加到视图上已存在的任何默认选项中观点是这样的。供将来参考的选项。有几个特殊选项,如果传递,将直接附加到视图:模型、集合、el、id、className、tagName和属性。
this.options
:
访问这个自定义选项。var ShapeSizePoolButtonView = Backbone.View.extend({
tmpl : $('.tmpl_agpb_shape_size_button').html(),
initialize : function() {
// this.render();
console.log( this.options.size ); // Not this.size
},
....
});
您将size
传递给View
构造函数,但它不会自动复制到this
上。您需要添加如下代码:
var ShapeSizePoolButtonView = Backbone.View.extend({
initialize : function(options) {
this.size = options.size;
// this.render();
console.log( this.size );
},
另外,您在渲染调用中错误地使用this.sizes
而不是this.size
。
相关文章:
- 如何在Jquery中发布后将值从视图返回到控制器
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- float's未返回到移动视图结束后的位置
- 从Nodejs中的函数返回数组,并将其发送到ejs视图
- 当视图在AngularJS中返回时,我如何获得异步服务调用来更新视图
- 在主干视图中的每个方法之后是否需要“返回此内容”
- 可以'在使用Javascript/AjaxMVC之后,不会返回到任何视图
- 如何使用jsonp调用返回的数据在Durandal中呈现视图
- 如何在视图中显示json返回的linq列表
- “渲染骨干模型视图”返回未定义的结果
- 如何在返回后将状态保持为突出显示JQuery树视图的选定节点
- 在视图模型中使用 MVC 视图返回 JsonResult 数据
- 挖空映射对象未由杜兰达尔视图模型返回
- 将返回值作为主干视图方法之间的参数传递
- 如何告诉MVC 4视图返回带有子路由的JSON结果
- CanJS视图返回@@!!@@if视图包含HTML表
- JavaScript实现的打印二进制树的左视图返回错误的结果
- Backbonejs确定哪个函数从模型向视图返回了响应
- 我应该从一个简单的django AJAX视图返回什么样的响应?
- 骨干:传递模型属性给视图返回未定义