将值从一个视图发送到另一个 ExtJS 4

Posted

技术标签:

【中文标题】将值从一个视图发送到另一个 ExtJS 4【英文标题】:Send value from one view to another ExtJS 4 【发布时间】:2018-06-29 15:48:09 【问题描述】:

我想将值从一个视图发送到另一个视图,我有一个代码在 ExtJS 6 中有效,但在 ExtJS 4 中无效。

这是从第一个开始的:

var test = Ext.create('test.text', 
    delayedRenderTo: container_id,
    id: 'messageBox-' + meta.rowIndex,
    viewModel: 
        data: 
            value: value
        
    
);

并且我们这样绑定它:

Ext.define('test.text', 
    extend: 'Ext.Panel',
    layout: 
        type: 'vbox',
        align: 'stretch',
        overflow: 'scroller',
    ,
    items: [
        xtype: 'textareafield',
        grow: true,
        growMin: 30,
        growMax: 120,
        disabled: true,
        fullscreen: true,
        bind: 
            value: 'value',
        ,
        fieldStyle: 'font-weight:bold;'
    ]
);

ExtJS 4 的替代方法是什么?

【问题讨论】:

【参考方案1】:

ViewModel 是在 Ext JS 5 中引入的,这就是它在 Ext JS 4 中不起作用的原因。

要在 Ext JS 4 中执行此操作,您必须找到组件(本例中为 textareafield),然后执行 setter(本例中为 setValue)。在 Ext JS 4 中都是手动的。

获取组件取决于很多事情,但最好的方法是使用 ComponentQuery,这取决于执行它的代码的位置。首先,您必须获取您的test.text 实例,然后使用comp.child('textareafield')。我不能给你一个灵丹妙药的例子,因为它取决于许多因素,但使用组件的 downchildqueryup 方法是一个好的开始,它们都有不同的目的。

【讨论】:

以上是关于将值从一个视图发送到另一个 ExtJS 4的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 ajax 将值从 django 模板发送到视图?

将值从控制器发送到“标题”视图,但当页面更改时,变量未定义

通过 Laravel 中的 AJAX 发布请求将值从一个视图传递到另一个视图

如何将值从一个片段的回收器视图项传递到另一个片段

将值从一个 DataGridView 复制到另一个

将值从一个视图控制器传递到另一个视图控制器的问题