我有一个复合视图:
var resultView = Marionette.CompositeView.extend({
template : ResultPanel,
itemView : ResultItemView,
initialize : function() {
...
},
itemViewOptions : {
app : this.options.app
},
我只是要分配给此视图的应用程序属性ItemView控件的应用程序性能。 因此,我可以使用该视图的应用程序从其他视图。 但我发现了这个错误:遗漏的类型错误:无法未定义读取属性“应用”。 我究竟做错了什么? 是否有为了做到这一点的另一种方式?
方法可行#1:this.option你的代码执行时,尚未设置。
可能性2:也许“这个”是不是你希望它是什么。 分配该变种=此; 使用前和使用的“说”,而不是“本”。
或分配VAR _options = this.options; 前延伸(),并使用在延伸_options。
options
会从你提供给您的视图的构造函数的对象产生。 它包括除之类的东西的一切model
和collection
var rv = new resultView({model: something, app: something})
然后可以像这样进行访问
var resultView = Marionette.CompositeView.extend({
itemView : ResultItemView,
initialize : function(options) {
this.app = options.something;
},
itemViewOptions : {
app : this.options.app
},
如果你想指的是另一种方法,这些选项,您需要将所需的变量附加到视图( this
)本身。
您不能访问之类的model
从选项的参数,但是它们会自动连接到您的看法