0

我有一个设置屏幕,它由一个侧边栏和一个主体组成。正文可以有一个表格来更新用户的个人资料或密码。

路由看起来像这样:

App.Router.map(function(match) {
  (match("/")).to("index");
  (match("/user")).to("user", function(match) {
    (match("/")).to("userIdx");
    (match("/settings")).to("userSetup", function(match) {
      (match("/")).to("userSetupIdx");
      (match("/profile")).to("userSetupProfile");
      (match("/password")).to("userSetupPassword");
    });
  });
});

和这样的包装设置模板:

<script type="text/x-handlebars" data-template-name="userSetup">
  <div class='sidebar'>
    Sidebar
  </div>
  <div class='main'>
    Setup <br/>
    {{outlet}}
  </div>
</script>

一个完整的例子可以在这里找到:http: //jsfiddle.net/stephanos/mgp7F/6/

在 Ember.js 中执行此操作的正确方法是什么?

编辑

在 sly7_7 的帮助下,我设法使上面的小提琴工作:http: //jsfiddle.net/ygvsS/9/。我所做的只是将所有内容从userSetup(template, view, route) 重命名为setup. 但显然这不是一个解决方案(因为我也有 appSetup)。

4

1 回答 1

1

根据您的评论示例,我想我已经完成了您正在寻找的工作:http: //jsfiddle.net/rt8fv/

路由器代码:

App.Router.map(function(match){
  match('/').to('home');
  match('/about').to('about');
  match('/contributors').to('contributors', function(match){
    match('/').to('contributorsIndex');
    match('/:contributor_id').to('contributor', function(match){
      match('/').to('contributorIndex');
      match('/details').to('contributorDetail');
      match('/repos').to('contributorRepos');
    });
  });
});

可能相关的问题:在应用程序的每个状态中获取数据的最佳方法

于 2013-01-03T19:49:44.137 回答