0
我在我的應用程序中有一個視圖(和控制器),將「editingMode」布爾值設置爲true以便將其置於編輯模式更有意義。通過不同的路徑呈現相同的視圖/控制器
編輯時,我想顯示幾個不同的模式(每個都有他們的資源在路由器下)。所以我在確定正確的方法來解決這個問題時遇到了一些問題。
/category # "normal" view
/category/edit # category view/controller with the "editMode" set to true
/category/edit/subcategory # needs to show the categoryController with editMode set to true and then subcategory index above it.
所以路由器的設置是這樣的:
App.Router.map(function(){
this.resource('category', function(){
this.route('edit');
this.resource('subcategory', function(){});
});
});
很顯然,我不能讓subcategory
嵌套資源edit
下。所以我想我的兩個選擇是。
方案一
把主控制器,處理的Category
所有功能CategoryIndexController
下。但是這需要兩件事。
- 編輯模式爲瀏覽類別負載和控制器(這是很容易做到)
- 每個模式我想,具有首先加載索引視圖,然後自身加載到這種觀點。這很煩人,看起來不像選項2那麼幹淨。
方案二
把主控制器CategoryController
下。這將意味着:
CategoryIndexController
真的沒有什麼。- 編輯模式仍然告訴
CategoryController
來設置它的編輯模式,以真正 - 沒有具有與情態動詞(比告訴
CategoryController
等,它應該是在編輯模式下發生的。
這似乎像清潔劑的選擇給我,但我看不到,使其work。任何想法?
有沒有更好的辦法做到這一點還是更「正確」的方法是什麼?