我正在嘗試創建一個指令,允許用戶使用箭頭鍵逐節瀏覽頁面。但我也希望能夠將這些部分分散在dom中,並且在添加和刪除東西時不會中斷這些部分。我能想到的幾種方法可以做到這一點,但他們都不是令人滿意的:Angularjs:查找指令的所有實例
創建一個控制器,讓其他指令自己註冊一個指令(和註銷在$銷燬)。但是如果我稍後在中間添加一些內容,這將會失靈。另外,我試過用這種方式寫它,而且看起來好像沒有必要的代碼。
每當用戶敲擊箭頭鍵時,創建一個空數組,然後$廣播一個事件,用回調指令在該列表上註冊自己。然後,一旦這個列表已滿,向前或向後退出。他們(應該?)按照他們在DOM中的順序回來,但我不確定,因爲這種方式看起來很瘋狂和駭人聽聞。
用css標記'tabbable'的東西,然後用jquery寫這個簡單的方法,就像這樣:在一個新的點擊事件中,
var all = $('.tabbable')
,然後做那個很明顯。但我真的不想這樣做,因爲它不是'有角度'的方式。不是出於某種純粹的感覺,而是因爲我將它作爲一個更大的小部件庫的一部分來構建,並且我希望這個功能可以被他們接受。
那麼,有沒有什麼辦法,我讓某一類型的所有指令的範圍,而不訴諸怪異的黑客,或者所有的地方出蔓延的邏輯是什麼?
任何有關處理該數組在排序時進行排序的建議? – doubledriscoll 2013-04-04 05:09:35
我想在提出建議之前,我需要先了解一些要求。您是否希望按照DOM插入等順序進行排序? – 2013-04-04 05:13:41