1

ExtJS4 アプリケーションの複数のファイルで再利用する必要がある一般的な関数がいくつかあります。いくつかの例を次に示します。

https://gist.github.com/e651c32039dfdc60635d

または、リンクに移動したくない場合:

/* This adds a method to String objects that allows you to test
*  whether or not a certain character or string exists in a target
*  string. In raw JS you need to check for .indexOf("test") !== -1
*/
String.prototype.contains = function( it ) { return this.indexOf( it ) !== -1; };

これらの関数が入ることができるモジュールのようなものをどのように作成し、それを使用する必要がある各ファイルに関数を含めるのではなく、各ファイルに「必要」またはインポート/ロードすることができますか?

4

1 に答える 1

1

名前空間を使用してそれを行うことができます。

ここにドキュメント

基本的には、ファイルを作成して「Utils.js」と言い、それをどこかに含めたいと思います(または、バージョン4.xを使用している場合はextjs autoloadを使用して動的にロードします)。

そのファイル内:

Ext.namespace('MyUtil.Array');

MyUtil.Array.doSomething = function(param){

   // method code here
}

そして、他のファイルでは、次のように呼び出します。

MyUtil.Array.doSomething(param);

少なくとも私はこれがあなたが求めていることだと思います。明らかに、名前空間を使用して、強力なextjsクラスシステムで作成されたクラスを保持できます(私が投稿した2番目のリンクでも説明されています)。

于 2012-09-21T21:08:38.817 に答える