0

私は AngularJS の背後にある概念が本当に好きで、非常に基本的な CRUD アプリケーションを作成するための基礎をよく理解していると思います。しかし、知識を実際の問題に適用しようとすると、それが AngularJS の概念にどのようにマッピングされるかで苦労し始めます。

私の問題:動的な「サブビュー」が必要です(視覚的にはポップアップ、モーダル、ウィザードですが、名前を付けたいと思います)。これは、カスタム コントローラーによって制御されます。

いくつかの HTML で言えば、次のようなものがあります。

<div id="container"></div>

そして、イベント (ボタンクリック) に基づいてサブビューをこの div に挿入したいと考えています。このテンプレート (たとえば、ng-include を介して挿入できます) は、コントローラーとは独立して単独で実行する必要があります。これら 2 つをプログラムでバインドしたいので、別の明示的なコントローラーでテンプレートを再利用できます。

では、最初の質問: コントローラーを DOM のサブ部分 (div) にプログラム的にバインドするにはどうすればよいでしょうか?

第二に、汎用で再利用可能なコントローラも必要です。たとえば、カスタムの見出しテキストの名前を持つコントローラーを作成しますが、他のすべては論理的に同じです。これらの種類のパラメーターをコントローラーに渡すにはどうすればよいですか? コントローラーは AngularJS フレームワークを介して暗黙的に作成されるため、一連のパラメーターを使用してプログラムでコントローラーを作成する必要はありません。それともありますか?

このかなり抽象的な説明で申し訳ありません。実用的な解決策を提供してくれるとは思っていませんが、正しい方向に導く助けやコメントをいただければ幸いです。

最後に、次のようなものを AngularJS にマップしたいと思います。

var ctrl = new PopupController("subviewtemplate.html", "headline text");
screenCtrl.show(ctrl);
4

1 に答える 1

0

コントローラーの作成に反対する理由がわかりません。ディレクティブにします。または、Angular-UI のメッセージ ディレクティブのような既存のアプローチを変更/調査します。 http://angular-ui.github.io/bootstrap/#/dialog

テンプレートの関数として ng-include を使用して、次のような動的なテンプレート アプローチを作成することをお勧めします。

ディレクティブ内のテンプレートのカスタマイズ

jQueryのバックグラウンドがある場合、「AngularJSで考える」も役立ち ますか?

于 2013-08-22T20:58:44.013 に答える