Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
大多数javascript框架的组件都带有;“数据向下,回调向上”;接口,这在Sencha ExtJS中的等价物是什么?_Javascript_Extjs - Fatal编程技术网

大多数javascript框架的组件都带有;“数据向下,回调向上”;接口,这在Sencha ExtJS中的等价物是什么?

大多数javascript框架的组件都带有;“数据向下,回调向上”;接口,这在Sencha ExtJS中的等价物是什么?,javascript,extjs,Javascript,Extjs,我有使用Angular/Ember/React的经验,在这些框架中,您对组件都有一个清晰的概念,即接受参数作为初始数据,回调作为对父级的引用(我相信Ember称为“数据下降,动作上升”)。我试着学习ExtJS,但是我不知道应该使用什么作为这个接口的等价物,嵌套组件之间的通信应该是什么样子?Ext中传递初始数据的常见模式是通过对象参数。传递的对象的属性对应于 Ext自动为config对象中的所有属性创建getter和setter方法,并在设置前后转换值 对于组件之间的通信,可以连接处理从嵌套组件触

我有使用Angular/Ember/React的经验,在这些框架中,您对组件都有一个清晰的概念,即接受参数作为初始数据,回调作为对父级的引用(我相信Ember称为“数据下降,动作上升”)。我试着学习ExtJS,但是我不知道应该使用什么作为这个接口的等价物,嵌套组件之间的通信应该是什么样子?

Ext中传递初始数据的常见模式是通过对象参数。传递的对象的属性对应于

Ext自动为config对象中的所有属性创建getter和setter方法,并在设置前后转换值

对于组件之间的通信,可以连接处理从嵌套组件触发的事件的连接。事件可以是由Ext提供的标准事件(例如从发出的“单击”),也可以是您使用创建和发送的自定义事件

组件之间通信的另一种方式是使用父组件和组件的

视图模型具有存在的优点,因此子组件可以绑定到视图模型属性,如果在子组件本身上找不到该属性,则该属性将沿着祖先链向上传播,直到找到匹配的视图模型属性

  • 初始数据

    •在ExtJS中,每个组件都接受一个JSON对象作为其初始配置数据

    •您甚至可以设置与您创建的每个组件关联的configs at方法。initComponent模板方法是组件的重要初始化步骤。首先调用正在创建的类的initComponent方法,每个initComponent方法直到随后调用Ext.Component的层次结构。这使得它易于实现,如果需要,可以在层次结构中的任何步骤重写组件的构造函数逻辑

    Ext.create('Ext.Component'{
    html:“你好,世界!”,
    宽度:300,
    身高:200,
    填充:20,
    风格:{
    颜色:“#FFFFFF”,
    背景颜色:'#000000'
    },
    renderTo:Ext.getBody()
    });
    

  • 组件之间的数据通信

    •在Ext JS中,组件之间的通信通过事件(以及带有listen配置的fireEvent)进行

    •子视图模型和父视图模型之间也可以进行通信。ViewModel最常用的方面是绑定方法。当绑定描述符指示的数据变为可用或更改时,此方法将调用“绑定描述符”和回调

  • 每个组件都可以与ViewModel和Controller关联。这些是最常用的一次