3
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 在哪里创建这些函数并对其进行编码?

4

2 回答 2

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

部分,否则您将必须创建该类的实例才能使用其中的函数。

于 2012-11-27T22:59:40.593 回答
1

以下是如何在架构师中使用基本功能:

  1. 创建一个控制器。

  2. 添加一个控制器动作并设置它的属性如下:

    controlQuery: '#btn1', // (a button component with id "btn1")
    targetType  : Ext.Button, // (component type)
    fn          : onBtn1Tap, // (function name)
    name        : tap // (event)
    
  3. 添加一个基本函数并设置它的属性:

    fn: basicFunction  (function name)
    
  4. 现在您可以在 onBtn1Tap 中使用这个基本功能:this.basicFunction()

于 2012-05-02T06:09:33.687 回答