2013-11-15 71 views
0

我正在處理我的第一個Ember.js項目,我必須處理當前的問題:如何在ember.js中自動渲染一些默認內容?

我有一個「新聞」頁面,它有更多的內容。在餘燼中,有兩條路線 - 讓我們稱它爲整個頁面的「abouts」,並且爲頁面上的每個內容「關於」。基本上,(當前)有7個圖片/帶有標題的項目等。當您點擊其中的每一個時,單擊的圖片/印刷機會被渲染並打開。這一切都完美。

我想要做的是 - 當「abouts」頁面打開時,我想自動渲染最新的內容(現在,只有當您點擊圖像時纔會呈現)。一個已知解決方案這樣做是爲了在{{linkTo}}(連接到菜單項)在我看來,通過一個額外的參數(ID),就像這樣:

{{#linkTo 'about' 6 title='Press'}}Press{{/linkTo}} 

這工作,但它不是因爲id是硬編碼的,因此是動態的。我想要的是動態地將「約」項目的長度減去一(在我的情況7中,但它會增長)。有沒有什麼辦法可以獲得「約」項目的長度?也許在ApplicationRoute或以某種方式?

或者你也許有任何其他想法如何解決這個問題?簡單地說,如何默認渲染一些內容?

我也附上兩張圖片,可能會更清楚我想做什麼。 enter image description here

enter image description here

回答

0

我已經解決了這個有點不同。這是解決方案。

隨着{{#linkTo}},我已經生成的鏈接根頁,像這樣的:這是立即執行

{{#linkTo 'abouts' title='Press'}}Press{{/linkTo}} 

在AboutsRou​​te,我已經添加重定向。它看起來像這樣。

App.AboutsRoute = Ember.Route.extend({ 
    model: function() { 
     return this.store.findAll('about'); 
    }, 
    afterModel: function(abouts, transition) { 
     this.transitionTo('about', abouts.get('length')); 
    } 
});