首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何初始化Ext.Direct?

如何初始化Ext.Direct?
EN

Stack Overflow用户
提问于 2013-10-15 00:53:01
回答 4查看 5.5K关注 0票数 2

我尝试在Ext.Direct 4 MVC结构中使用ExtJS,但我无法添加提供程序。

我在调用Uncaught TypeError: Cannot call method 'addProvider' of undefined时得到错误addProvider

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Ext.Direct.addProvider(Ext.app.REMOTING_API);

我在应用程序的launch和控制器的init中都进行了尝试。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Ext.define('Dir.Application', {
    require: [
        'Ext.direct.*',
        'Ext.data.*',
        'Ext.grid.*'
    ],
    launch: function(){
        Ext.Direct.addProvider(Ext.app.REMOTING_API);
    }
    ...
});

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Ext.define('Dir.controller.Main', {
    init: function(){
        Ext.Direct.addProvider(Ext.app.REMOTING_API);
    }
    ...
});

两人都犯了同样的错误。

addProvider放入代码的正确位置在哪里?

更新:应用@rixo的建议。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Ext.define('Dir.Application', {
    view:['Grid'],
    requires: [
        'Ext.direct.*',
        'Ext.data.*',
        'Ext.grid.*'
    ],
    launch: function(){
        Ext.Direct.addProvider(Ext.app.REMOTING_API);
    }
    ...
});

我的观点是定义一个商店和一个代理:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Ext.define('Dir.view.Grid', {
    extend: 'Ext.grid.Panel',
    store: {
        proxy: {
            type: 'direct',
            reader:{root: 'table'},
            api: {
                create: QueryDatabase.createRecord,
                read: QueryDatabase.getResults,
                update: QueryDatabase.updateRecords,
                destroy: QueryDatabase.destroyRecord
            }
        }
    ...
    }

现在第一个错误是可以的,但是我接收到一个错误,抱怨没有定义QueryDatabase。它是通过Ext.Direct.addProvider(Ext.app.REMOTING_API);的提供程序定义的,但是当视图通过应用程序定义中的views: []声明加载时,它还没有准备好。

是否有一种方法可以不像在Ext.application中那样在Ext.onReady中嵌套Ext.onReady来实现这个功能?

没有嵌套会更好的MVC方式,如解释在这里的医生

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-15 05:45:59

应用程序定义中的require不会做任何事情。它应该是复数requires

而且,您似乎已经在自己的答案中设计了这一点,但是Ext.direct.Manager这个名字现在似乎是Sencha比Ext.Direct更受欢迎的名字。

编辑

根据文档,可以使用字符串设置直接函数。显然,这是为了解决你遇到的问题。

这应该可以解决您的问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
api: {
    create: 'QueryDatabase.createRecord',
    read: 'QueryDatabase.getResults',
    update: 'QueryDatabase.updateRecords',
    destroy: 'QueryDatabase.destroyRecord'
}
票数 3
EN

Stack Overflow用户

发布于 2013-10-15 01:27:36

可能您在调用提供程序之前缺少了API定义,请从Sencha的示例页面查看此定义

Ext.ns("Ext.app");Ext.app.REMOTING_API ={ "url":"php\/router.php","type":“TestAction”,"actions":{ "TestAction":[{“TestAction”:"doEcho","len":1 },{ "name":“乘”,"len":1 },{ "name":"getTree","len":1 },{ "name":"getGrid","len":1 },{ "name":"showDetails","params":"firstName","lastName","age“} };

它应该作为javascript文件包含在您的网页中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <script type="text/javascript" src="api.php"></script>

有点像这个例子

希望能帮上忙。

票数 1
EN

Stack Overflow用户

发布于 2013-10-15 09:11:24

在应用程序构造函数运行之前最好先添加直接提供程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Ext.define('Foo.Application', {
    extend: 'Ext.app.Application',

    requires: [
        'Ext.direct.Manager',
        'Ext.direct.RemotingProvider'
    ],

    name: 'Foo',

    constructor: function() {
        Ext.direct.Manager.addProvider(...);

        this.callParent(arguments);
    }
});

Ext.application('Foo.Application');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19376978

复制
相关文章
qstring如何初始化_qstringlist 初始化
(); //将路径赋值给 strFilePath } ui->label->setText(strFilePath); QStringList fileList; dir.cd(strFilePath); //打开路径,调用 dir 对象的成员……
全栈程序员站长
2022/06/27
1.4K0
如何初始化Ganglia
因为ganglia安装完成后修改了系统时间,导致ganglia不能正常显示检测数据,可能原因是由于ganglia已经记录了已有的时间,而操作系统时间被修改后导致了内部异常,因此将ganglia的已有记录和缓存删除应该可以解决问题。
星哥玩云
2022/06/29
3300
如何优雅的初始化 vector
问题 如何优雅的初始化 std:vector?我知道的是下面的写法, std::vector<int> ints; ints.push_back(10); ints.push_back(20); ints.push_back(30); 还有更好的么? 回答 static const int arr[] = {16,2,77,29}; vector<int> vec (arr, arr + sizeof(arr) / sizeof(arr[0])); 如果你的编译器支持 C++ 11 的话,可以直接这样,
ClearSeve
2022/02/11
7370
java中如何初始化接口
 chart.setBackgroundImageAlpha(Paint.OPAQUE); 其中,Paint类型可以直接用Color类。 其中Paint就是一个接口,只能通过Paint直接调用其中的参数。 public interface RandVals {  int rint = (int)(Math.random() * 10);  long rlong = (long)(Math.random() * 10);  float rfloat = (float)(Ma
闵开慧
2018/03/30
2.1K0
vector>初始化_vector如何重置
注意:vector<int> a(nums.begin()+1, nums.end()-2);中a包含nums.begin()+1,不包含nums.end()-2,也就是包含的区间是左闭右开区间
全栈程序员站长
2022/09/29
8880
干货|权重初始化如何推导?
今天我们带来的深度学习权重初始化相关的内容,其初始化的原理是?背后的数学原理是啥?可以达到什么效果呢?我们一一来看吧~
灿视学长
2021/07/07
9380
SpringBoot中如何添加初始化程序
实现InitializingBean接口,并且重写afterPropertiesSet()方法,具体实现如下:
Cheng_Blog
2022/02/25
2710
gccc如何处理static变量初始化
局部变量在C++中的使用要频繁的多,并且功能也强大的多,但是这些强大功能的背后无疑会引入问题的复杂性,不想让马儿吃草只想让马儿跑的事大家表乱想。这些初始化的实现就需要C++的库执行更多的动作来完成,虽然各种编译器都是像如今开展的“学雷锋”活动一样干了很多好事都没有留名,但是作为一个程序员,还是要对别人的贡献进行表彰。 我们看一下下面的一段代码,本文将会围绕这个代码进行展开,可以看到这个简单的程序,让C++生成了非常多的代码让人应接不暇
thierryzhou
2022/12/01
7600
【说站】Java数组如何实现动态初始化
Java数组如何实现动态初始化 概念 1、数组动态初始化只给定数组长度,系统默认初始化值。 2、格式 数据类型[] 数组名 = new 数据类型[数组长度]; int[] arr = new int[3]; 实例 package com.itheima.array;   public class Demo2Array {     /*         数组的动态初始化:                         在初始化的时候, 需要手动指定数组的长度, 系统会为数组容器分配初始值.      
很酷的站长
2022/11/23
5880
【说站】Java数组如何实现动态初始化
如何快速初始化一个electron项目
如今移动端横行,pc的时代已渐渐逝去,c家族pc开发的臃肿以及学习成本让大多数前端工作者头疼。现在,Electron 提供了html+jabascript+CSS+node.js的开发方式,让前端工作更加方便的进行pc开发。
乱码三千
2021/07/29
5570
如何快速初始化一个electron项目
[C++面试]拷贝初始化与直接初始化
对象是类的实例化,在内存中会占据一个一定大小的空间。创建一个对象分为两步:分配内存空间和初始化,刚刚分配的空间有可能包含脏数据,因此我们需要通过初始化函数(C++中指的是构造函数)对分配的空间进行正确地初始化以保证对象值的合法性。
TOMOCAT
2021/12/16
1.7K0
如何正确初始化神经网络的权重参数
近几年,随着深度学习的大火,越来越多的人选择去入门、学习、钻研这一领域,正确初始化神经网络的参数对神经网络的最终性能有着决定性作用。如果参数设置过大,会出现梯度爆炸的现象,导致网络训练过程发散;而如果参数设置过小,会出现梯度消失的现象,导致收敛极其缓慢。本文是作者拜读Xavier Glorot于2016年在ICML上发表的《Understanding the difficulty of training deep feedforward》及Katanforoosh & Kunin的“Initializing neural networks”后的读书笔记。
用户1621951
2020/02/28
3.4K0
如何正确初始化神经网络的权重参数
【已解决】Swift的泛型该如何初始化?
但是在泛型初始化的时候一直提示泛型无法进行初始化,觉得是泛型都不可以初始化,只有实体类型才可以。
君赏
2018/09/07
1.3K0
【说站】python如何解决初始化执行次数
1、定义一个类属性init_flag标记是否 执行过初始化动作,初始值为False。
很酷的站长
2022/11/23
4430
深度学习中如何选择合适的初始化权重
不同的神经网络权重初始值会导致不同的神经网络训练结果,一个良好初始化权重可以对于神经网络的训练带来很大帮助,比如加速梯度下降(Gradient Descent)的收敛;增加梯度下降(Gradient Descent)收敛到低训练误差(Trainning Error)的概率;避免梯度消失或梯度爆炸等。
YoungTimes
2022/04/28
1.6K0
深度学习中如何选择合适的初始化权重
初始化
在编程时,初始化与清理的工作影响着一个程序的安全性,明白初始化的顺序以及其他相关问题可以很有效的避免运行时的对象空指针的问题,以及基本类型数据的值问题
fanfan
2022/05/07
7690
初始化
如何保证static变量只初始化一次
static变量分为两种情况:第一种是初始化为常量,在编译的时候就可以确定初始值;第二种是初始值在运行的时候才能确定,比如赋值为函数的返回值或 某个类的实例。
gaigai
2019/08/29
7K0
如何保证static变量只初始化一次
springboot如何在项目启动时初始化资源-ApplicationRunner
实现ApplicationRunner,并重写run方法即可 @Component public class InitPortJob implements ApplicationRunner { private final static Logger logger = LoggerFactory.getLogger(InitPortJob.class); //数量待调整 public static BlockingQueue<Integer> portQueue = new
Vincent-yuan
2021/10/28
3830
vector初始化方法_vector初始化大小
vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为了使用vector 我们必须包含相关的头文件 :
全栈程序员站长
2022/10/02
2.2K0
初始化磁盘_c++怎么初始化
磁盘在联机后要初始化,同样也有两种方法,一种是调用IOCTL_DISK_CREATE_DISK,还有一种是调用WMI的Initialize方法。
全栈程序员站长
2022/09/29
7870

相似问题

Ext.direct API的解释

11

Ext.Direct表单集成

11

使用Ext.DIrect提交extjs表单

20

Ext.Direct网格问题

25

Ext.Direct VS Ext.Ajax

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文