0
我一直在使用一些AngularJS項目,其中指令被廣泛用於處理以大量JavaScript爲背後的視圖。它感覺不太對,它們也不是最容易測試的東西,除非您將代碼移出到控制器並將其綁定到指令。對大視圖使用角度指令
一個例子就是創建一個大型表單,作爲一個指令和一個大型鏈接函數。不是很可測試的,而且它只在整個應用程序中使用過一次。
他們這樣做的代碼很好的,你最終像這樣
<h1>example Header</h1>
<custom-form form-data="somemodel"></cutom-form>
<p>Lots of other stuff here</p>
代碼是否有興趣在其他人怎麼接近指示和意見,我首先想到的指令應該被重複使用非常小的組分分離。
如果你有一個由幾個部分組成的屏幕,你會使用控制器+視圖嗎?那會使用ngInclude嗎? –
對於這種情況,是的,使用ngInclude是模塊化頁面瀏覽內容的一種很好的方式,但是您可能需要小心,ngIncude異步獲取模板,如果您嘗試操作ngIncluded DOM,您可能會遇到意外的行爲。我們在我們的索引頁面中使用ngInclude作爲頁眉,頁腳,容器和導航菜單,但是我們在ngInclude內部使用angular-loading-bar時遇到了問題,請參閱https://github.com/chieffancypants/angular-loading-bar/issues/ 217。 –
有趣的是,我還沒有看到ngInclude到目前爲止在我一直使用的項目上使用過很多,但它聽起來像一個整潔的方式,並在正面更多地測試指令代碼,更具體地說,大量指令與大量的代碼背後 –