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 (){});
  });
});

显然,我不能subcategoryedit. 所以我想我的两个选择是。

选项一

把主控制器,处理Category下的所有功能CategoryIndexController。但这需要两件事。

  1. 类别的编辑模式加载该视图和控制器(这很容易)
  2. 我想要的每个模式都必须首先加载索引视图,然后将自身加载到该视图中。这很烦人,看起来不像选项 2 那样干净。

选项二

将主控制器放在CategoryController. 这意味着:

  1. CategoryIndexController真的什么都不做。
  2. 编辑模式仍然会告诉将CategoryController其编辑模式设置为 true
  3. 模式不必发生任何事情(除了告诉CategoryController它应该处于编辑模式之外。

这对我来说似乎是更清洁的选择,但我看不出让它发挥作用。有任何想法吗?

有没有更好的方法来做到这一点或更“正确”的方式?

4

1 回答 1

0

您是否尝试过使用 yourCategoryIndexController而不是CategoryController. 默认情况下CategoryController将重定向到,CategoryIndexController因为这是一个资源。

于 2013-06-06T18:28:39.197 回答