假設我寫了一個網頁,要求用戶將數據輸入到表單中。假設頁面的兩部分在DOM中完全分離,但在邏輯上是相關的。我需要將它們綁定到一個模型。我可以想到的第一個(壞)解決方案是完全重構頁面,以便綁定到模型的所有東西都包含在一個單獨的<div>
元素中(或者甚至可以將控制器放在<body>
元素上)。Angular控制器可以綁定到網頁的多個部分嗎?
另一種解決方案可能是將輸入綁定到一個可以成爲兩個不同控制器的成員的對象,但聽起來像是一團糟。
假設HTML看起來像這樣:
<input ng-model='data1' />
<div>
<!-- something complicated -->
</div>
<input ng-model='data2' />
存儲模型轉變爲服務,並將它注入到雙方的控制器。這不是一個混亂,它是正確的做法。 – Blackhole
黑洞說什麼。服務在你的應用中是單身,他們的數據在你的控制器中是一致的。 –