2016-10-06 5 views
0

私はいくつかのAngularJSプロジェクトを行っています。ここでは、ディレクティブが背後に大量のJavaScriptを持つビューを扱うために広範囲に使用されています。それはまったく正しいとは言えませんし、コードをコントローラーに移動して指示文にバインドしない限り、テストするのも一番簡単なことではありません。ラージビューにangleディレクティブを使用する

例としては、ディレクティブとして作成された大きなフォームとこれに配置された大きなリンク関数があります。あまりテストすることはできず、アプリケーション全体で1回しか使用されません。

は、彼らは私が最初のディレクティブが再利用されている本当に小さな部品であるべきと思ったとして、あなたは、人々がディレクティブとビューに近づく方法を他のことに興味を持つであろうこの

<h1>example Header</h1> 

<custom-form form-data="somemodel"></cutom-form> 

<p>Lots of other stuff here</p> 

のようなコードで終わることにうまくコードを分離行います。

答えて

0

基本的には、ほんの数回、私はディレクティブを実装すると、これらはまた、私は私が(プロジェクト内の任意の場所にアドインで例えば時刻入力ディレクティブを使用することができます

  1. する一般的な再利用可能なコンポーネントに固執しようとしているルールですドロップダウンメニューで
  2. サードパーティのディレクティブを拡張したり、パッチ

)秒/分/時間/日などの時間単位を選択できるようにほとんどの時間は、完全にその利点を活用するためにAngularJS MVC構造を利用すべきです。

+0

画面がいくつかのセクションで構成されている場合は、コントローラ+ビューを使用しますか? ngIncludeを使用していますか? –

+0

この場合、ngIncludeを使用すると、ページビューのコンテンツをモジュール化するうえで便利ですが、ngIncluded DOMを操作しようとすると予期せぬ動作に遭遇する可能性があるテンプレートを非同期に取得するよう注意してください。インデックスページのヘッダー、フッター、コンテナ、ナビゲーションメニューにngIncludeを使用しましたが、ngInclude内のangle-loading-barを使用して問題が発生しました。https://github.com/chieffancypants/angular-loading-bar/issues/を参照してください。 217。 –

+0

興味深いことに、ngIncludeは今まで私が行っていたプロジェクトでそれほど多く使われていましたが、それはちゃんとした方法のように聞こえるし、プラス側では、指示コード、後ろに –

関連する問題