Javascript 使用管理仪表板模板向面板添加内容
我们正在构建的应用程序是基于Sencha提供的。加载特定页面时,我们希望能够在呈现页面之前动态更改内容实现这一目标的最佳方法是什么? 到目前为止,我们已经添加了一个控制器,它允许我们在页面加载时运行函数,但我们无法找到使用它来操作页面组件的方法 页面示例:Javascript 使用管理仪表板模板向面板添加内容,javascript,extjs,Javascript,Extjs,我们正在构建的应用程序是基于Sencha提供的。加载特定页面时,我们希望能够在呈现页面之前动态更改内容实现这一目标的最佳方法是什么? 到目前为止,我们已经添加了一个控制器,它允许我们在页面加载时运行函数,但我们无法找到使用它来操作页面组件的方法 页面示例: Ext.define('Admin.view.home.Page', { extend: 'Ext.container.Container', xtype: 'page', requires: [ '
Ext.define('Admin.view.home.Page', {
extend: 'Ext.container.Container',
xtype: 'page',
requires: [
'Ext.container.Container',
'Ext.grid.Panel',
'Ext.window.*',
'Ext.ux.GMapPanel'
],
controller: 'pagecontroller',
anchor: '100% -1',
layout: 'fit',
items : [
{
xtype: 'panel',
id: 'pagepanel',
title: 'test'
}
]
});
控制器示例:
Ext.define('Admin.view.home.PageController', {
extend: 'Ext.app.ViewController',
alias: 'controller.pagecontroller',
init: function () { //Run function on panelload();
}
});
function panelload(){
var panelX = Ext.create('Ext.panel.Panel', {
autoShow: true,
layout: 'fit',
title: 'test',
closeAction: 'hide',
width: 450,
height: 450,
html: '<p>foobar</p>'
};
Ext.getCmp('pagepanel').add(panelX);
}
Ext.define('Admin.view.home.PageController'{
扩展:“Ext.app.ViewController”,
别名:“controller.pagecontroller”,
init:function(){//在panelload()上运行函数;
}
});
功能面板加载(){
var panelX=Ext.create('Ext.panel.panel'{
汽车展:是的,
布局:“适合”,
标题:"测试",,
closeAction:'隐藏',
宽度:450,
身高:450,
html:“foobar”
};
Ext.getCmp('pagepanel')。添加(panelX);
}
我的当前代码不会产生任何错误,也不会做任何事情。我在中尝试了您的代码。我将panelload
函数移动到viewcontroller中,并在init函数中调用它。
面板按预期添加到测试面板中
Ext.define('Admin.view.home.PageController', {
extend: 'Ext.app.ViewController',
alias: 'controller.pagecontroller',
init: function () {
this.panelload(); // executes the function after view is ready
},
panelload: function () {
var panelX = Ext.create('Ext.panel.Panel', {
autoShow: true,
layout: 'fit',
title: 'test',
closeAction: 'hide',
width: 450,
height: 450,
html: '<p>foobar</p>'
});
Ext.getCmp('pagepanel').add(panelX);
}
});
Ext.define('Admin.view.home.PageController'{
扩展:“Ext.app.ViewController”,
别名:“controller.pagecontroller”,
init:函数(){
this.panelload();//在视图准备就绪后执行函数
},
面板加载:函数(){
var panelX=Ext.create('Ext.panel.panel'{
汽车展:是的,
布局:“适合”,
标题:"测试",,
closeAction:'隐藏',
宽度:450,
身高:450,
html:“foobar”
});
Ext.getCmp('pagepanel')。添加(panelX);
}
});
下面是完整的代码
Ext.define('Admin.view.home.PageController', {
extend: 'Ext.app.ViewController',
alias: 'controller.pagecontroller',
init: function () {
this.panelload();
},
panelload: function () {
var panelX = Ext.create('Ext.panel.Panel', {
autoShow: true,
layout: 'fit',
title: 'test',
closeAction: 'hide',
width: 450,
height: 450,
html: '<p>foobar</p>'
});
Ext.getCmp('pagepanel').add(panelX);
}
});
Ext.create({
xclass: 'Ext.container.Container',
controller: 'pagecontroller',
anchor: '100% -1',
layout: 'fit',
items: [{
xtype: 'panel',
id: 'pagepanel',
title: 'test'
}],
renderTo: Ext.getBody()
});
Ext.define('Admin.view.home.PageController'{
扩展:“Ext.app.ViewController”,
别名:“controller.pagecontroller”,
init:函数(){
这个.panelload();
},
面板加载:函数(){
var panelX=Ext.create('Ext.panel.panel'{
汽车展:是的,
布局:“适合”,
标题:"测试",,
closeAction:'隐藏',
宽度:450,
身高:450,
html:“foobar”
});
Ext.getCmp('pagepanel')。添加(panelX);
}
});
外部创建({
xclass:'Ext.container.container',
控制器:“页面控制器”,
主播:“100%-1”,
布局:“适合”,
项目:[{
xtype:'面板',
id:“页面面板”,
标题:“测试”
}],
renderTo:Ext.getBody()
});
我在中尝试了您的代码。我将panelload
函数移动到viewcontroller中,并在init函数中调用它。
面板按预期添加到测试面板中
Ext.define('Admin.view.home.PageController', {
extend: 'Ext.app.ViewController',
alias: 'controller.pagecontroller',
init: function () {
this.panelload(); // executes the function after view is ready
},
panelload: function () {
var panelX = Ext.create('Ext.panel.Panel', {
autoShow: true,
layout: 'fit',
title: 'test',
closeAction: 'hide',
width: 450,
height: 450,
html: '<p>foobar</p>'
});
Ext.getCmp('pagepanel').add(panelX);
}
});
Ext.define('Admin.view.home.PageController'{
扩展:“Ext.app.ViewController”,
别名:“controller.pagecontroller”,
init:函数(){
this.panelload();//在视图准备就绪后执行函数
},
面板加载:函数(){
var panelX=Ext.create('Ext.panel.panel'{
汽车展:是的,
布局:“适合”,
标题:"测试",,
closeAction:'隐藏',
宽度:450,
身高:450,
html:“foobar”
});
Ext.getCmp('pagepanel')。添加(panelX);
}
});
下面是完整的代码
Ext.define('Admin.view.home.PageController', {
extend: 'Ext.app.ViewController',
alias: 'controller.pagecontroller',
init: function () {
this.panelload();
},
panelload: function () {
var panelX = Ext.create('Ext.panel.Panel', {
autoShow: true,
layout: 'fit',
title: 'test',
closeAction: 'hide',
width: 450,
height: 450,
html: '<p>foobar</p>'
});
Ext.getCmp('pagepanel').add(panelX);
}
});
Ext.create({
xclass: 'Ext.container.Container',
controller: 'pagecontroller',
anchor: '100% -1',
layout: 'fit',
items: [{
xtype: 'panel',
id: 'pagepanel',
title: 'test'
}],
renderTo: Ext.getBody()
});
Ext.define('Admin.view.home.PageController'{
扩展:“Ext.app.ViewController”,
别名:“controller.pagecontroller”,
init:函数(){
这个.panelload();
},
面板加载:函数(){
var panelX=Ext.create('Ext.panel.panel'{
汽车展:是的,
布局:“适合”,
标题:"测试",,
closeAction:'隐藏',
宽度:450,
身高:450,
html:“foobar”
});
Ext.getCmp('pagepanel')。添加(panelX);
}
});
外部创建({
xclass:'Ext.container.container',
控制器:“页面控制器”,
主播:“100%-1”,
布局:“适合”,
项目:[{
xtype:'面板',
id:“页面面板”,
标题:“测试”
}],
renderTo:Ext.getBody()
});
你能分享一些你已经完成的事情吗?有错误吗?请提供你尝试过的代码,查看指导原则如何提出好问题panelload
函数调用了吗?你能分享一些你已经完成的事情吗?有错误吗?请提供你尝试过的代码,查看指导原则如何提出好问题s是否调用了panelload
函数?