相关疑难解决方法(0)

创建一个接受可变数量的视图(以及因此区域)的布局

我的目标 是创建一个可以接收可变数量的视图并基于它们的自定义布局(流布局),它根据需要创建区域,并在这些区域内显示传入的视图.可以安排视图垂直或水平.

要求 布局有一个模板,其中最初未定义区域.它只包含一个包装器(data-role="region-wrapper"),其中将添加添加的区域.

我的方法.

1 - 延伸Marionette.Layout(显然)

2 - 像以下一样Ovveride the construtor

constructor: function(options) {
    // call super here...

    this.viewList= options.viewList || [];

    this._defineRegions(); // see 3
}            
Run Code Online (Sandbox Code Playgroud)

3 - 动态定义区域

_defineRegions: function() {

    _.each(this.viewList, function(view, index) {               
    var name = 'flowRegion_' + index;
    var definition = { selector: "[data-region='flow-region-" + index + "']" };             
    this.addRegion(name, definition);

    }, this);
},
Run Code Online (Sandbox Code Playgroud)

4 - 在同一布局中的onRender方法中渲染区域和视图

onRender: function() {

    _.each(this.viewList, function(view, index) {   
        // if the view has …
Run Code Online (Sandbox Code Playgroud)

javascript backbone.js marionette

6
推荐指数
1
解决办法
723
查看次数

标签 统计

backbone.js ×1

javascript ×1

marionette ×1