gpt4 book ai didi

backbone.js - Backbone Marionette : templateHelpers and itemViewOptions

转载 作者:行者123 更新时间:2023-12-04 01:18:33 25 4
gpt4 key购买 nike

我的 Backbone Marionette 和 ItemView 渲染有问题。
我需要将一个值从复合 View 传递到它的每个项目 View 。
该值正确包含在项目 View 的选项数组中,但是,我无法从 templateHelpers 方法访问它。

所以我试图将它设置为我的 View 的值,但是当我呈现数组时,它返回一个“未定义”的值。

复合 View

var TableView = Backbone.Marionette.CompositeView.extend({
....
itemViewOptions: {
foo: "bar",
},

项目 View
var RowView = Backbone.Marionette.ItemView.extend({

template: RowTemplate,
tagName: "tr",
foo: "",

initialize: function(){

this.foo = this.options.foo;
},

templateHelpers: {

foo: function(){
return this.foo;
}

},

我做错了什么?如何访问该值并将其提取到模板中?谢谢你。

最佳答案

templateHelpers函数,this变量是从 serializeData 返回的对象方法。获取 itemViewOptionstemplateHelpers ,那么,需要修改serializeData项目 View 上的方法:


ItemView.extend({

// ...

serializeData: function(){
// call the super method
var data = Backbone.Marionette.ItemView.prototype.serializeData.apply(this, arguments);

// augment the data the way you need
data.foo = this.options.foo;

// send back your custom data
return data;
}


});

这应该使您的数据在 templateHelpers 中可用。 .

关于backbone.js - Backbone Marionette : templateHelpers and itemViewOptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12058610/

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