モーダルを角度で処理する最良の方法を探していましたが、達成するためにコントローラから切り離す必要があるという印象を受けていますMVCにおける懸念の分離 しかし、ディレクティブやライブラリを使ってこれを実装する場合は、あまりにも多くのコードを追加するという膨大なオーバーヘッドの必要はありません。モダールを表示する:角度付きディレクティブ/ライブラリVS直接ネイティブjQuery /ブートストラップコール
にディレクティブを移植$scope.saveChanges = function() {
$('#messageTitle').text('Done');
$('#messageText').text('Changes have been saved.');
$('#message').modal()
}
:私たちはまったく同じことをやってますが、直接として使いやすいようにjQueryを使用してコントローラやサービスにブートストラップモーダルを示すために比較して、キックオフより通話やイベントとされているかのように効果的に思えますこのダイアログは、角度、外部ライブラリやカスタムコード(いずれかの方法で適用されます)内の依存関係間の追加のステップと設定を伴うモーダルを示すダイアログを実際に処理しています。これは実際には、ユーティリティメソッドのユーティリティメソッドの呼び出しを簡素化して、jQueryを使用してモーダルを表示するutilsファイルのようなものです。繰り返しますが、なぜ私は経験豊富な角度のエキスパートから期待していないのかを知るために啓発されるでしょう。
これを行うには正しい正しい方法が仮定されていること以外は、コントローラ内でDOMを参照しないでください。パフォーマンス、バグのあるコード、テストなどに影響を与えますか?
私が知っているのは、テストケースが簡単になる理由の1つです。もう一度、正当な理由はテストが正しくテストされた場合上記のコードのようにビジネスロジックのDOMを持つ問題はほとんどありません。これにはさらに多くの場合がありますが、それは何ですか?同じことがサービスに適用される場合、コントローラ/サービスからDOMを分離する最も効率的な方法は何ですか?現在の説明に
背景:
What's the correct way to trigger jQuery DOM Manipulation from within a controller?
Separating DOM manipulation from Angular controllers - Best Practice wanted
AngularJS - why manipulating DOM in controller is a bad thing?
Why is it considered a bad idea to manipulate DOM in controllers?