【问题标题】:Ember Nested Routes and rendering modelsEmber 嵌套路由和渲染模型
【发布时间】:2015-01-31 12:00:29
【问题描述】:

我有一个发票应用程序生成器,我想以 2 种不同的方式显示所有交易的发票,目前我只能以 1 种方式进行(编辑链接)

  1. 在编辑链接上我可以看到我的所有发票和交易 一起(现在就是这样)
  2. 在查看链接中,我只想查看包含他自己的交易的特定发票信息 而不是任何其他发票和信息

我已经复制了我的案例here

这是路线代码

App.Router.map(function(){ 
    this.resource('invoices', function(){
        this.resource('invoice', { path:'/:invoice_id' }, function(){
            this.route('edit'); 
        }); 
        this.route('create');
    });

}); 

问题是,只要我在发票资源中,我就会共享生成所有内容的发票模板,但是有没有一种方法可以让我在发票路线内只看到我的单张发票和他自己的交易?是否可以使用相同的路线代码来实现?完成这项工作的最佳方法是什么?

   <script type="text/x-handlebars" id="invoices">
    <div class="large-12 columns">
      {{#link-to "invoices.create"}} Add Invoice {{/link-to}}
    </div>
    <ul class="fatturas-listing">
      {{#each invoice in model}}
        <li>
          {{#link-to "invoice" invoice}}
            Edit {{invoice.title}}
          {{/link-to}}
        </li>
        <li>
          {{#link-to "invoice" invoice}}
            View {{invoice.title}}
          {{/link-to}}
        </li>
       {{else}}
        <li>no fatturas… :(
        </li>
      {{/each}}
    </ul>
    {{outlet}}
  </script>

【问题讨论】:

    标签: javascript ember.js routes handlebars.js ember-router


    【解决方案1】:

    我不明白你的“编辑”部分。您现在遇到的问题是发票模板中定义的出口,所有子路由都将在此处呈现,因此您无法显示没有其父(发票)内容的发票。

    我认为最常见的方法是删除出口并在 InvoicesIndex 路由中显示所有发票。单击发票将转到单个发票(一个新页面,不显示 InvoicesIndex 路由中的发票列表)。

    【讨论】:

      猜你喜欢
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      相关资源
      最近更新 更多