11

MVC パターンの前に、JS の先頭にこれを含めるだけで UX クラスを含めることができますExt.onReady

Ext.Loader.setConfig({enabled: true});
Ext.Loader.setPath('Ext.ux', 'extjs/examples/ux');
Ext.require([
    'Ext.ux.grid.FiltersFeature'
]);

今、私は MVC パターンで作業しており、同じ機能を使用する必要がある gridpanel があります。次のようにビューにrequireステートメントを含めました。

Ext.define('ST.view.StudentLog', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.studentlog',
    requires: [
        'Ext.ux.grid.FiltersFeature'
    ],

ただし、アプリは、これで最初に読み込みを開始するときに 404 エラーを生成します。

何か案は?

編集:

この同じコードブロックをビューの上部に配置しようとしましたが、これも役に立ちませんでした (Ext.Loader.setConfig / .setPathブロックを参照)。

ローダーはextjs/src/ux/、私が別の方法で伝えようとしても、UX クラスをロードしようとし続けます。この提案によると、アプリコントローラーでパスプロパティを定義しようとしましたが、アンサーがソースで見たものはすべて、見つからず、見つからないため、4.1 rc3 には存在しないようです。仕事。

FilterFeature.js を<script>タグ付きの HTML にインポートされたソース ファイルとして追加すると、アプリの起動時にすべての依存関係で 404 エラーが発生します。

他の UX 依存関係にリンクできるように、UX フォルダーから直接アプリに UX クラスを含める簡単な方法が必要です。

4

5 に答える 5

14

わかりましたこの投稿から見つけました。

Ext.Loader.setPathアプリ コントローラーの上部で callを使用する必要があるだけです。たとえば、次のようになります。

Ext.Loader.setPath('Ext.ux', 'extjs/examples/ux');
Ext.application({
    name: 'ST',
    autoCreateViewport: true,
    ...

または、ux クラスを配置したい場合は、凝縮の目的で、アプリ固有の UX クラスを引き出してapp/ux、投稿がカバーするような独自のフォルダーに貼り付ける必要があります。

于 2012-04-25T07:03:46.367 に答える
4

Extjs 6、MVVC と sencha cmd を使用。sencha generate アプリを使用してアプリを起動しました。を使用したいところまでコーディングし、 にブロックを追加する必要があるように をItemSelector変更しました。app.jsonux

"requires": [
  "font-awesome",
  "ux"
],

ItemSelectorウィジェットを作成したいコントローラーコードで:

requires: [
    'Ext.ux.form.MultiSelect',
    'Ext.ux.form.ItemSelector'
],

および を作成するための適切なコードItemSelector。私が抱えていた問題の 1 つは、モデルを含む実際のデータ ストアが必要であり、モックアップされたデータを使用できないことです。

次に、煎茶アプリのビルドを行いました

于 2016-04-14T17:32:43.670 に答える
1

これは、ファイルがあるパスに問題があるようにExt.ux.grid.FiltersFeature思えます。404 になったリクエストの URL を確認できますか? Ext.ux.grid.FiltersFeatureこれにより、自動的にロードされるように配置する場所の手がかりが得られるはずです。

これは、私が使用しているディレクトリ構造と ux クラスの場所の例です。

js
|---app.js
|
|---app
|    |---controller
|    |---model
|    |---store
|    +---view
|
+---ux
     |---form
     +---layout

基本的に、名前空間はディレクトリ構造に従います。

于 2012-04-25T01:06:17.217 に答える