TmpView = BI.inherit(BI.View, { _defaultConfig: function(){ return BI.extend(TmpView.superclass._defaultConfig.apply(this, arguments),{ baseCls: "bi-tmp" }) }, _init: function(){ TmpView.superclass._init.apply(this, arguments); }, change: function(changed){ if(changed.data1){ this._showModelData(); } }, _showModelData: function(){ this.text.setText("父级Model层数据为:"+JSON.stringify(this.model.toJSON())); }, _createMain: function(){ var self = this; return BI.createWidget({ type: "bi.border", items: { west: { el: { type: "bi.vertical", vgap: 10, items: [{ el: (this.text = BI.createWidget({ type: "bi.label", whiteSpace: "normal" })) }, { el: { type: "bi.text_button", cls: "tmp-button mvc-button", text: "点击触发事件tmp('data1', {child: {type: {value: \"临时数据\"}}})", height: 30, handler: function(){ self.model.tmp("data1", { child: { type: { value: "临时数据" } } }) } } }, { el: { type: "bi.text_button", cls: "tmp-button mvc-button", text: "点击触发事件submit", height: 30, handler: function(){ self.model.submit(); } } }, { el: { type: "bi.text_button", cls: "tmp-button mvc-button", text: "点击跳转到右方", height: 30, handler: function(){ self.addSubVessel("test", self.center).skipTo("child", "test", "data1"); } } }] }, width: 200 }, center: { el: (this.center = BI.createWidget()) } } }) }, render: function(vessel){ BI.createWidget({ type: "bi.center", element: vessel, items: [{ el: this._createMain() }], hgap: 50, vgap: 100 }) }, refresh: function(){ this._showModelData(); } }) TmpModel = BI.inherit(BI.Model, { _defaultConfig: function(){ return BI.extend(TmpModel.superclass._defaultConfig.apply(this, arguments),{ data1: { child: { type: { value: "这是一个测试数据" } } }, data2: "test" }) }, _init: function(){ TmpModel.superclass._init.apply(this, arguments); } }) TmpChildView = BI.inherit(BI.View, { _defaultConfig: function(){ return BI.extend(TmpChildView.superclass._defaultConfig.apply(this, arguments),{ baseCls: "bi-tmp-child" }) }, _init: function(){ TmpChildView.superclass._init.apply(this, arguments); }, change: function(changed){ if(changed.child){ this._showModelData(); } }, _showModelData: function(){ this.text.setText("子级Model层数据为:"+JSON.stringify(this.model.toJSON())); }, _createMain: function(){ var self = this; return BI.createWidget({ type: "bi.border", items: { west: { el: { type: "bi.vertical", vgap: 10, items: [{ el: (this.text = BI.createWidget({ type: "bi.label", whiteSpace: "normal" })) }, { el: { type: "bi.text_button", cls: "tmp-button mvc-button", text: "点击触发事件set", height: 30, handler: function(){ self.set("child", { type: { value: "值改变了" } }) } } }, { el: { type: "bi.text_button", cls: "tmp-button mvc-button", text: "点击跳转到右方", height: 30, handler: function(){ self.addSubVessel("test", self.center).skipTo("child", "test", "child"); } } }] }, width: 200 }, center: { el: (this.center = BI.createWidget()) } } }) }, render: function(vessel){ BI.createWidget({ type: "bi.center", element: vessel, items: [{ el: this._createMain() }], hgap: 50 }) }, refresh: function(){ this._showModelData(); } }) TmpChildModel = BI.inherit(BI.Model, { _defaultConfig: function(){ return BI.extend(TmpChildModel.superclass._defaultConfig.apply(this, arguments),{ }) }, _init: function(){ TmpChildModel.superclass._init.apply(this, arguments); } }) TmpChildChildView = BI.inherit(BI.View, { _defaultConfig: function(){ return BI.extend(TmpChildChildView.superclass._defaultConfig.apply(this, arguments),{ baseCls: "bi-tmp-child-child" }) }, _init: function(){ TmpChildChildView.superclass._init.apply(this, arguments); }, change: function(changed){ if(changed.type){ this._showModelData(); } }, _showModelData: function(){ this.text.setText("叶节点数据为:"+JSON.stringify(this.model.toJSON())); }, _createMain: function(){ return (this.text = BI.createWidget({ type: "bi.label", whiteSpace: "normal" })) }, render: function(vessel){ BI.createWidget({ type: "bi.center", element: vessel, items: [{ el: this._createMain() }], hgap: 50 }) }, refresh: function(){ this._showModelData(); } }) TmpChildChildModel = BI.inherit(BI.Model, { _defaultConfig: function(){ return BI.extend(TmpChildChildModel.superclass._defaultConfig.apply(this, arguments),{ }) }, _init: function(){ TmpChildChildModel.superclass._init.apply(this, arguments); } }) Demo.Func = BI.inherit(BI.Widget, { render: function () { var view = BI.View.createView("/tmp", {}, { element: this }); view.populate(); }, mounted: function () { } }); BI.shortcut("demo.tmp", Demo.Func);