Ext.Ajax.request({
url: 'foo.php', // where you wanna post
success: passFn, // function called on success
failure: failFn,
params: { foo: 'bar' } // your json data
});
我关注How to post json data with extJS并得到了有关功能的问题。我看到我们可以在passFn和failFn区域中嵌入函数。但是,如果我希望这些功能在其他地方怎么办?在哪里创建这些函数并在Sencha Architect中编写它们?
答案 0 :(得分:4)
您可以创建一个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
部分,否则您将必须创建该类的实例以使用其中的函数。
答案 1 :(得分:1)
以下是如何在架构师中使用基本功能的方法:
创建一个控制器。
添加控制器操作并按如下方式设置其属性:
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()