gpt4 book ai didi

javascript - 将参数传递给主干 View (id、className 等)

转载 作者:行者123 更新时间:2023-11-30 10:20:19 25 4
gpt4 key购买 nike

我有一些代码可以根据我传递给它的一些参数创建 Backbone.View,如下所示:

// The Form View
var FormView = Backbone.View.extend({
initialize: function (opts) {
debugger; // This is here only to figure out what gets executed first: if "id" method or "initialize"
this.options = {};
this.options.id = opts.id;
this.options.className = opts.class;
},

id: function () {
debugger; // The application will stop here before the debugger I set in the initialize method
return this.options.id; // options is undefined!
},

className: function () {
return this.options.className; // options is undefined!
}
});

// The params
var params =
fid: "some-form",
class: "form-horizontal"
};

var myForm = new FormView(params);

但是 this.options 属性始终是 undefined。如我所见,设置 View 属性的方法在 initialize 方法之前运行。作为一种解决方法,我认为我可以访问 de id 回调中的初始化方法并调用其参数,但我不确定如何正确执行此操作。我也不认为这是一个好方法。

有什么想法吗? - 提前致谢。

最佳答案

为什么不使用通常的方式将选项传递给 View ?像这样的东西:

var FormView = Backbone.View.extend({
initialize: function () {
this.foo = this.options.foo;
this.bar = this.options.bar;
}
});

var params = {foo: '1', bar: '2'};
var v = new FormView(params);

您也可以作为参数传递 {id: '1', className: 'your-class'} Backbone 会自动将其应用到相应的 idclassName目标属性 View .

关于javascript - 将参数传递给主干 View (id、className 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21732518/

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