Ext.Ajax.request({
url: 'foo.php', // where you wanna post
success: passFn, // function called on success
failure: failFn,
params: { foo: 'bar' } // your json data
});
我正在关注如何使用extJS发布json数据,并得到了有关函数的问题。我看到我们可以在 passFn 和 failFn 区域中嵌入函数。但是,如果我希望这些功能位于其他位置怎么办?在哪里创建这些函数并在Sencha Architect中对其进行编码?
您可以创建一个位于 Sencha Architect 控件之外的文件夹,并从 Architect 代码内部调用它。
例如,我喜欢创建一个名为"util"的文件夹。因此,您的文件夹结构如下所示:
app
-- controller
-- model
-- store
-- view
-- util <--- I added this directory
-- MiscFunctions.js <-- your own class file
在 MiscFunctions.js 中,您将像这样创建类:
Ext.define('MyApp.util.MiscFunctions', {
singleton: true,
passFn: function() {
...
},
failFn: function() {
}
});
然后,您可以从 Architect 代码中引用这些函数:
Ext.Ajax.request({
url: 'foo.php', // where you wanna post
success: MyApp.util.MiscFunctions.passFn, // function called on success
failure: MyApp.util.MiscFunctions.failFn,
params: { foo: 'bar' } // your json data
});
不要忘记添加
singleton: true
部分,否则您必须创建该类的实例才能使用其中的函数。
架构师中使用基本函数的方法:
创建控制器。
添加控制器操作并设置其属性,如下所示:
controlQuery: '#btn1', // (a button component with id "btn1") targetType : Ext.Button, // (component type) fn : onBtn1Tap, // (function name) name : tap // (event)
添加基本函数并设置其属性:
fn: basicFunction (function name)
现在您可以在onBtn1Tap中使用此基本功能:
this.basicFunction()