0
我想創建一個指令,該指令需要一個字符串數組,並將它們組織到一個表中,每行有4個字符串。如何在我的自定義指令中使用現有的ng-repeat指令?
因此,例如,陣列['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
將被呈現爲:
a b c d
e f g h
對於這一點,我可以很容易地寫出一個link
函數手動操縱DOM(jQuery的樣式)和renderes此表。
但是這種感覺不對,因爲我們已經有了可以做這項工作一半的指令,如ng-repeat
。我想使用現有的可以提供幫助的東西,只編寫新的功能。
我該如何做到這一點?
你的問題使自己無法回答。沒有任何「正確的方法」來完成每一項任務,排除其他任何方法;有很好的方法來完成任務和不好的方法來完成任務。在你的特定情況下,可以顯示一個完成你的任務的另一種好方法,但這並不能使它成爲唯一正確的方式,或者你應該完成所有類似任務的方式。因此,你應該問的是你說你不希望任何人回答的一件事。 – Claies
這有兩種常見方式,主要取決於您是否使用響應式框架。 http://stackoverflow.com/questions/27211799/angular-ng-repeat-add-bootstrap-row-every-3-or-4-cols有幾個例子;一種方法是使用響應重置,而不是嘗試控制DOM。另一種方法涉及將數據分塊爲數組數組,並使用兩個'ng-repeat'來迭代外部數組作爲行,內部數組迭代爲列。 – Claies
你是正確的,但你的想法是操縱DOM並不是真正的角度。 – Claies