問題タブ [extjs-mvc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3581 参照

javascript - 取得エラー Uncaught TypeError: 未定義のメソッド 'getProxy' を呼び出せませんか?

extjs を使用してビルドする Web アプリに問題があります。私はこのコードを持っています: コード

私が得るエラーはこれです: Uncaught TypeError: Cannot call method 'getProxy' of undefined this the stacktrace:

0 投票する
2 に答える
2741 参照

extjs-mvc - 「ターゲット」ハンドラー ツールバー ボタンとして、コントローラーのメソッドは?

こんにちは!

このハンドラー「handler: onEventControler (???)」をビューから削除したい (そこに属していない)

グリッド ビュー セット dockedItems の場合、このタラ:

this.controlも実装しようとしましたが、ボタンの selectorQuery を要求できませんでした。

アーキテクチャmvc extJs4を適切に尊重するにはどうすればよいですか?

ありがとうございました。

0 投票する
0 に答える
225 参照

javascript - グリッドは結果を表示しませんが、ページャーは Codeigniter を使用して ext および ext.Direct を使用します

jsonのような結果が得られました。

JSON

このグリッド ビュー コードを用意します。

ポケットベルの動作は何と奇妙なことでしょう。しかし、空のグリッドを表示するのはなぜですか?

0 投票する
4 に答える
3672 参照

extjs - extjs コンボは 4.07 の読み込みを停止しません

私は3つのコンボボックスを持っています。最初のボックスをクリックすると、2 番目のボックスが更新され、関連するデータが表示される必要があります。最初のコンボを選択すると、2 番目のボックスが完全に更新されます。ただし、同じ手順をもう一度試すと、2 番目のボックスの読み込みが停止しません (画像を参照)。

ここに画像の説明を入力

ここに私の見解からのコードがあります

そして私のコントローラーから

0 投票する
4 に答える
2402 参照

extjs - TreeGrid: データ ルートを設定しても効果がありません

TreeGrid をセットアップしようとしています。データ オブジェクトは次のようになります。

データをルート要素として使用する必要があることを Ext に伝える必要があります。

通常のストアでこれをうまく使用していますが、これは私には機能しません。

0 投票する
1 に答える
1437 参照

javascript - 詳細ウィンドウを待つためにグリッドをダブルクリックしている間にマスクをロードする方法

フォーラム メンバー extjs 4.0.2a の loadMask プロパティを使用しているときに 1 つの問題があります。実際には、クリックするとウィンドウが開き、詳細情報が表示されるグリッドが 1 つあります。

詳細ウィンドウが画面に表示されるまでに時間がかかるため、Extjs の loadMask プロパティを利用することにしました。しかし、グリッド行をダブルクリックすると読み込みメッセージが表示されず、しばらくすると詳細ウィンドウが画面に表示される理由がわかりません。

グリッドのダブルクリックで以下のコードを実行しています

しかし、読み込みが表示されていないことを知りません。しばらく待った後、ウィンドウが正しく表示されます。

グリッドをダブルクリックすると、読み込み中メッセージが表示され、ウィンドウが完全に読み込まれた後、読み込み中メッセージが消え、詳細ウィンドウが表示されます。

あなたが言ったように変更を加えたとき、読み込みメッセージが表示されますが、私のウィンドウはまだ開かれていません。以下は、私が開こうとしているウィンドウのコードです

私のプロジェクトGa​​nttwindowは

0 投票する
2 に答える
443 参照

extjs - エラーNodeStoreにはモデルがありません

TreeGridを使用していくつかのデータを表示しています。ツリーグリッドを実装したので、extjsはこのエラーをスローし続けます:

モデルなしで定義されたストア。モデル名を間違って入力した可能性があります。

少しデバッグしたところ、モデルのない「nodeStore」があるためにこれがスローされることがわかりました。

この「nodeStore」はどこから来たのですか、そして私は何を間違っていますか?

店:

モデル:

0 投票する
2 に答える
3210 参照

extjs4 - extjs4でformPanelフィールドの横にサーバー側の検証エラーを表示するには?

Extjs4 を使用して、クラス フィールドをビュー フィールドにバインドしようとしています。フォームを送信して結果を返すことはできましたが、検証に失敗した場合に各フィールドの横にエラー メッセージを表示する方法がわかりません。これらのフィールドを自分のクラスに直接バインドしたいと思います (例: spring mvc で行うように - bindingResults.rejectValue("currentPassword", "currentPassword.incorrect", "Password is wrong"); ビューに表示されます)。

私のフォームパネル:

ボタンのクリック時に送信イベントを実行するコントローラー -

そして私のクラスは

ビューにエラー メッセージを表示するにはどうすればよいですか?

0 投票する
2 に答える
1350 参照

javascript - ExtJS MVC の規則、命名、動作

最近 (2.x / 3.x) xtype とファクトリ メソッドを使用して、同じくらい高速なクラスのインスタンスを受け取りました。これで、4.x と MVC を使用した最初のアプリを開始しました。チュートリアルで説明されているように、MVC パターンでは、使用したくないビューごとにクラスを拡張する必要があります。たとえ 1 回しか使用しない場合でもです。しかし、Sencha 自身が書いたベスト プラクティスには次のように書かれています。

再利用性または機能の追加のために拡張するだけです

私の場合、いくつかのパラメーターを除いて、1 つの基本クラスから作成できたとしても、たくさんのクラスを登録する必要があります。title, width,...

もう 1 つのポイントは、Controller は慣例により StoreId を上書きし、厳密な入力も必要とすることです。つまり、class-name は . で終わる必要がありsます。しかし、私が知る限り、コントローラーストア/モデル配列内のモデルもストアも惜しまないので、この規則の他のポイントはタイピングを惜しまないようです。

次のポイントは、3.X から 4.X にマージした後、アプリケーションの初期ロード時間が長くなったことです。これは、定義する必要がある多くの新しいクラスが原因であるか、またはすべてのコントローラーが起動時にインスタンス化されるという事実が原因であると思われますMVC パターンのデフォルトの動作によるものです。たとえば、アプリケーションコントローラーでリクエストした場合など、コントローラーを自動インスタンス化せずに怠惰にする方法はありますか?

はい、それはたくさんの質問ですが、それらはすべて同じトピックに関連していると思います。

編集

ソースコードを掘り下げた後s、ストアに名前を付けるときの要件について確信が持てなくなりました。MVCチュートリアルを進めているときに、これに出くわしたと思いました。誰でもこれを確認できますか?

編集2

私の結論

レーシー レンダリングは非常に単純です。まず第一に、コントローラーは ApplicationController コントローラー配列で言及されるべきではありません。このようなコントローラーのインスタンスを作成するには、ApplicationController.getController(pureClassName) [各コントローラーには、呼び出された ApplicationController への参照が含まれていることに注意して ください]メソッドとメソッドが ApplicationController によって呼び出されなくなっapplicationたことに注意する必要があります。これは自分で。内部参照キャッシュにこのコントローラーのインスタンスが既に存在する場合、ApplicationController の最初のルックアップを呼び出すと、インスタンスが作成され、コントローラー名が次のように挿入されます。init(application)onLaunch(application)getController()Id. したがって、コントローラーは一種のシングルトンであり、まったく問題ありません。コントローラー自体は、登録されたストア、モデル、およびビューのすべてのゲッターを作成し、推測ですが、それら (少なくともストア) をインスタンス化します。ストアの名前付けの制限については、s で終わることに制限はありません。

0 投票する
1 に答える
297 参照

extjs4 - ビューが定義されていません。4.07でコンボボックスの問題を読み込んでいます

たまに(通常は3ページに1回の読み込み)次のエラーメッセージが表示されます

ビューは未定義ですview.onItemSelect(record);

私からしてみれば

//コントローラーでonLaunch:function(){

私のモデルでは