如何在Sencha Architect中创建函数


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

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

以下是在

架构师中使用基本函数的方法:

  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()

最新更新