3

今日、@blorkfishからのブログ投稿を読んだ後、TypeScript を使い始めました。

typescriptlang.orgから VS プラグインをダウンロードし、nuget を介して最新の ExtJS 定義をダウンロードしました

PM> インストール パッケージ extjs.TypeScript.DefinitelyTyped

OK、ブロックポストで説明されているように、基本的な MVC アプリを作成することから始めましょう:

コンパイル時の型キャスト

TypeScript の強力な利点 (つまり、型の安全性) を利用する唯一の方法は、次のようにコンパイル時の型キャストを使用して、これらの構成ブロックを正しい型に手動で型キャストすることです。

Ext.application(
    <Ext_app_Application>{ 
        // Ext.application config block
        // now has intellisense and type casting
    } 
);

終わった

ここに画像の説明を入力

エラーは Ext_app_Application の定義がないことを示しています

4

3 に答える 3

2

追加情報:

<Ext.app.IApplication>ExtJS TypeScript 定義の最新バージョンに有効な原因を試しましたか。ブログで使用されている定義と nuget 経由で取得した定義には違いがあることに注意してください。

開発者コメント:

構成ブロックを適切なインターフェイスにキャストして、コード ヒントを有効にします。

于 2013-07-13T07:55:26.483 に答える
2

私が書いた最初のブログ投稿は、Mike Aubury (zz9pa) による優れた作業に基づいており、2013 年 1 月に公開されました。

2013 年 7 月頃、brian428 は extjs.d.ts ファイルを PreventTyped に送信しました。

これら 2 つの .d.ts ファイルの違いにより、このエラーが発生する理由が説明されます。
Mike の extjs インターフェイスは、次のように _ (アンダースコア) を使用してクラス名を区切りました。

interface Ext_AbstractComponent extends Ext_Base { ... }

brian428 の extjs インターフェイスが使用する場所。(ドット) 次のように:

interface Ext.AbstractComponent extends Ext.Base { ... }

楽しむ

于 2013-09-04T13:16:16.910 に答える
1

の署名は、 typeExt.application()という名前のオプションの引数を受け入れることを示しています。configany

Ext.Application(config?: any) : void;

したがって、次のようにオブジェクトを渡すだけです。

/// <reference path="Scripts/typings/extjs/ExtJS.d.ts" />

Ext.application({
    name: 'SampleApp',
    appFolder: '/app/sampleapp',
    controllers: ['SampleController'],
    launch: () => {
        console.log('getting started');
    }
});
于 2013-07-12T09:12:28.633 に答える