2013-03-05 3 views
2

문서를 잘못 읽었을 수 있습니다. 누군가 check out my gist을 기쁘게하고 invoices/index 템플릿이 렌더링되지 않는 이유를 말해 줄 수 있습니까? Ember.js 템플릿 렌더링

나는 그것이

posts 
↳posts/index 

(내 경우에는 invoices/index)를 렌더링한다 상태 the ember.js docs을 읽을 때. 그러나 invoices 템플릿이 렌더링됩니다.

핸들 바 :

<script type="text/x-handlebars" data-template-name="application"> 
    <h1>Ember Committers</h1> 
    <nav> 
     {{#linkTo "index"}}Index{{/linkTo}} 
     {{#linkTo "about"}}About{{/linkTo}} 
     {{#linkTo "invoices"}}Invoices{{/linkTo}} 
    </nav> 
    {{ outlet }} 
</script> 

<script type="text/x-handlebars" data-template-name="invoices"> 
    <h1>Invoices</h1> 
</script> 

<script type="text/x-handlebars" data-template-name="invoices/index"> 
    <ul> 
     {{#each invoice in invoices }} 
     <li>{{#linkTo "show" invoice.id}}{{ invoice.id }}{{/linkTo }}</li> 
     {{/each }} 
    </ul> 
</script> 

<script type="text/x-handlebars" data-template-name="invoices/show"> 
    <p>Invoice - {{ name }}</p> 
</script> 

<script type="text/x-handlebars" data-template-name="phone"> 
    <p>Contributor - {{ title }}</p> 
</script> 

<script type="text/x-handlebars" data-template-name="about"> 
    <p>About {{ title }}</p> 
</script> 

<script type="text/x-handlebars" data-template-name="index"> 
    <p>Index</p> 
</script> 

자바 스크립트 :

<script type="text/javascript" defer> 
    var App = Ember.Application.create({ 
     LOG_TRANSITIONS: true 
    }); 
    App.ApplicationView = Ember.View.extend({ 
     templateName: 'application' 
    }); 

    App.Router.map(function() { 
     this.route("about"); 
     this.resource("invoices", { path: "/invoices" }, function() { 
      this.resource("show", { path: "/:id" }); 
     }); 
    }); 

    var invoices = [ 
     {id: 1}, 
     {id: 2} 
    ]; 

    App.AboutRoute = Ember.Route.extend({ 
     setupController: function (controller) { 
      // Set the IndexController's `title` 
      controller.set('title', "My App"); 
     } 
    }); 

    App.InvoicesIndexController = Ember.ArrayController.extend({ 
     invoices: invoices 
    }); 

</script> 

답변

4

당신은 당신의 invoices 템플릿에 {{outlet}} 태그를 포함해야합니다. indexshowinvoices의 중첩 리소스이므로 해당 템플릿은 invoices 템플릿에 지정한 콘센트에서 렌더링됩니다.

Ember.js 가이드의 nested resources 부분을 살펴보십시오.

관련 문제