所以我將這個Plunker作爲演示很好用:http://plnkr.co/edit/Zm9d6zHhrnqDlnJsSZ1I?p=preview。這是一個帶有兩個屬性參數的簡單分頁,它們保存模型狀態和一些配置狀態。我想用一個指令工廠這樣的(或東西,說明如何理性不同)來結束:將指令的控制器拆分成更小的部分
angular.module('mnPagination').factory(function(model, config) {
return {
model: model,
config: config
}
})
我當前plunker問題是應用層和指令層不會看起來很相像。由於我只有一個應用程序,我可以使用工廠作爲單身數據提供程序。這非常好!
但是在指令中,我不能使用任何類型的提供者,因爲它將是一個單例。範圍是每個聲明實例的新對象,所以這是唯一可以放置指令中應包含的任何有狀態代碼的地方。
指令應該是無狀態的嗎?
另一個更多的元問題:我是唯一一個嚇壞了嗎?
這是我第二次SO嘗試,並沒有人在Facebook或在工作是真正的MVVM/MVC或指令與孤立範圍。
我是Leya,來做我的盧克!
我想知道是否有能力從指令的控制器訪問範圍父母可能有所幫助?不知道那將是多麼乾淨。 – user1441287 2014-10-17 09:17:20
我想了解你的問題。將控制器分成更小的部分:是關於創建「控制器助手」還是「功能部件」來聚合在一起?你能否詳細說明這一點(我很好奇,這可能對我有用)。 – Bernard 2014-10-19 06:05:41
@ user1441287:對於我來說,父範圍訪問會是徒勞的。我希望儘可能多的分離,以便我可以輕鬆替換代碼,並且更容易理解我的代碼,而無需查看父範圍。 – 2014-10-19 09:04:07