背景:如何在現有父指令元素和子指令元素之間動態嵌套指令元素?
我正在使用自定義的CMS,我對代碼庫的訪問權限有限。所以,在少數情況下,我打算使用JavaScript進行一些DOM操作。
問題:
我有一個容器指令和容器具有普通的老HTML項目,但我不能夠標記的項目爲從服務器端的指令。此外,普通的舊HTML項目包含指令的子內容。
例子:
這裏是前:
DIV[container-directive]
DIV.some-item-in-html
DIV[some-directive-in-the-content]
DIV.some-item-in-html
DIV[some-directive-in-the-content]
...
這裏是DOM應該是什麼樣子算賬:
DIV[container-directive]
DIV[container-item] <-- This is what needs to be inserted
DIV.some-item-in-html
DIV[some-directive-in-the-content]
DIV[container-item] <-- This is what needs to be inserted
DIV.some-item-in-html
DIV[some-directive-in-the-content]
...
問:
有沒有人有使用JavaScript在嵌套指令之間注入DOM指令的最佳方法的建議?
的幾點思考:
我認爲操作DOM通過提前角彙編的,但我不知道是否有一種方式來角的框架內做到這一點。
另一個選擇是來自容器指令的後鏈接功能,我可以將HTML項目包裝在名爲「container-item」的指令元素中,然後$手動編譯項目。所以,我試過這個,但是我得到一個錯誤,這些錯誤與已經包含指令的內容中的內容有關。關於「ngTransclude」的一些事情是意料之外的。我認爲這與已經處理的內部指令有關。
建議你創建一個複製的問題,您是否嘗試過 – charlietfl
的代碼,我知道你在問什麼,但我不是真的想修復損壞的代碼演示。有幾種方法可以解決上述問題。如果是這樣,那麼我的代碼可能無關緊要,如果有效的解決方案是非常不同。另一方面,如果只有一種方法可以完成上述問題,那麼我的代碼無關緊要,因爲答案在答案中可能會編寫一個單獨的代碼結構(可能會用相對較少的代碼)或者在這個問題上有知識的人可以提出最好的方法,而無需編寫代碼,這將是一個有效的答案。 –
該方法不適合這個網站,你提到你嘗試了一些沒有用的東西,所以發佈代碼。這通常是如何在這裏工作 – charlietfl