2013-07-09 42 views
0

我有this的jsfiddle,在那裏我試圖渲染節點模板:爲什麼插座無法訪問模型數據?

<script type="text/x-handlebars" data-template-name="node"> 
    <h1>Node template</h1> 
    <p>The outlet comes here:</p> 
    {{outlet}} 
    </script> 

這應該呈現node/indexnode/template1模板,根據不同的路線上。這實際上正在發生,但模板只顯示空的數據。這是爲什麼?

(數據也好,可以在nodes表模板中可以看出)

回答

2

您需要爲node/index和node/template1聲明路由,然後實現模型函數,以便從節點資源中檢索模型,因爲這是放置動態段的位置。

例如:

App.NodeTemplate1Route = Ember.Route.extend({ 
    model: function() { 
    return this.modelFor('node'); 
    } 
}); 

App.NodeIndexRoute = Ember.Route.extend({ 
    model: function() { 
    return this.modelFor('node'); 
    } 
}); 

你可以看到它在這個版本中撥弄工作:http://jsfiddle.net/ianpetzer/XajSS/#base

1

node/indexnode一個隱含的子路由。它沒有在NodeRoute中提供的模型。您需要使用needs來查找NodeIndexController中的值。

App.NodeIndexController = Ember.ObjectController.extend({ 
     needs: 'node', 
     contentBinding: 'controllers.node' 
    }); 

更新jsfiddle

相關問題