暫存。2

var DetailPage = Talent.Layout.extend({
    //空白模板
    template: _.template('')
    //詳情頁
    ,className: "standard-detail"
    //渲染區域
    ,regions: {
        "standardBtn" : ".standard-btn"
        ,"standardForm" : ".standard-form"
    }

    ,initialize: function(options){
        var self = this;
    //獲取url上的信息
        Talent.app.request("history:getQueryObject").done(function(obj) {
            self.id = obj.id;
            self.pageState = obj.pageState;
            self.pageName = obj.pageName;
        });
    }
    ,onShow: function(){
        var self = this;
        if (!this.options.wrappers) {
            //模型裏面是沒有數據的進行fetch獲取服務器最新數據 
            //(model, response, options)
            this.model.fetch({

                data: {
                    id: this.id
                    ,metaObjName: this.options.metaObjName
                    ,pageType: 2
                }
                ,url: "/MultiTenant/GetPageView"
            }).done(function(resp){
                self.trigger("fetchDataComplete", resp);
                self.buildPage();
            });
        } else {
            this.model.set(this.options);
            this.buildPage();
        }
    }
    //構建頁面
    ,buildPage: function(){
        var self = this;

        this.modules = [];
        //獲取屬性值
        var pageData = this.model.get("wrappers").contentWrap;
        //遍歷屬性值
        _.each(pageData, function(item1, index1) {
            
            //擴展參數,在module裏不一樣view須要
            _.extend(item1, {
                searchParams: {
                    "pageView": self.model.get("name")
                    ,"dataid": self.model.get("dataid")
                }
                ,metaObjName: self.options.metaObjName
                ,pageName: self.pageName
                ,pageState: self.pageState
                ,formMode:self.options.formMode||'advance'
            });

            if(_.isEmpty(item1.pageModules)) {
                return null;
            }
            //定義模塊
            var module = new PageModule(item1);
            //模塊集合
            self.modules.push(module);
            //定義模塊渲染區
            var moduleRegion = $('<div class="mod mod-' + index1 + ' clearfix"></div>');
            //把模型渲染區加入el
            moduleRegion.appendTo(self.$el);

            var region = {};
            region['mod-' + index1 + '-region'] = '.mod-' + index1;
            self.addRegions(region);

            self['mod-' + index1 + '-region'].show(module);
        });
    }
});
相關文章
相關標籤/搜索