将数据从控制器传递到另一个视图并在 sencha touch 中设置标签的值
Posted
技术标签:
【中文标题】将数据从控制器传递到另一个视图并在 sencha touch 中设置标签的值【英文标题】:Passing data to another view from controller and set a label's value in sencha touch 【发布时间】:2013-05-27 11:06:10 【问题描述】:我有一个控制器,我想将一个简单的字符串值传递给下一个视图。
为此,我正在创建这样的视图。
var nextView = Ext.create('MyApp.view.NextView',
content: 'value'
);
Ext.Viewport.add(nextView);
Ext.Viewport.animateActiveItem(nextView,
type: 'slide',
direction: 'left'
);
在 NextView 上,我有一个标签,我想将标签的 html
属性设置为我从控制器传递的值。 IE。 value
.
我的 NextView 看起来像这样。
Ext.define('MyApp.view.NextView',
extend: 'Ext.form.Panel',
config:
content: 'null',
items: [
xtype: 'label',
html: 'value'
]
);
我不知道如何从这里开始。我不能将 NextView 作为表单。在这种情况下,我只需要传递一个字符串值。
实现这一目标的最佳方法是什么?
【问题讨论】:
【参考方案1】:使用initialize
方法访问配置数据,如下所示:
Ext.define('MyApp.view.NextView',
extend: 'Ext.form.Panel',
config:
content: 'null',
items: [
xtype: 'label',
html: 'value'
]
,
initialize : function()
this.callParent();
var val = this.config.content;
this.down('label').setHtml(val);
);
PS随意在down
函数中使用你最喜欢的选择器
【讨论】:
【参考方案2】:我知道问题已得到解答。但我只是挖掘了一种非常自然的方式将数据从控制器传递到视图(使用视图的构造函数)。我在将 Web 桌面集成到我的应用程序时使用它。
在控制器中,将数据传递给视图的构造函数,如下所示:
loiTab = Ext.create('Iip.view.giips.admission.DetailedLoiTab', closable: true, selectedLoiData: selected[0].data);
在视图中,启动一个构造函数,如下所示:
constructor: function(selectedLoiData)
Ext.applyIf(this, selectedLoiData);
this.callParent();
,
以下方法与构造函数位于同一文件中。您可以从构造函数所在视图中的任何位置访问 selectedLoiData,如下所示:
initComponent: function()
console.log(this.selectedLoiData);
【讨论】:
以上是关于将数据从控制器传递到另一个视图并在 sencha touch 中设置标签的值的主要内容,如果未能解决你的问题,请参考以下文章
将 ImageData 从一个视图控制器传递到另一个视图控制器