我正在研究我的第一个Ember.js项目,我将处理当前的问题:
我有一个“按”页面,其中包含更多内容。在ember中,有两条路线 - 让我们称之为整个页面的“abouts”和页面上每个内容的“about”。基本上,有(当前)7个图片/项目与标题等。当您点击其中每一个,点击图片/按下得到渲染和打开。这一切都很完美。
我想要做的是 - 当“abouts”页面打开时,我想自动呈现最新内容(现在,在您点击图像之前不会呈现任何内容)。一个已知的解决方案是在我的视图中在{{linkTo}}(连接到菜单项)中传递一个额外的参数(id),如下所示:
{{#linkTo 'about' 6 title='Press'}}Press{{/linkTo}}
这样可行,但它不是动态的,因为id是硬编码的。我想要的是动态传递“约”项减去一个的长度(在我的情况下为7,但它会增长)。有没有办法获得“关于”项目的长度?也许在ApplicationRoute或某种程度上?
或者您对如何解决这个问题有任何其他想法?简单来说,如何默认渲染一些内容?
我还附上两张图片,可能更清楚我想做什么。
答案 0 :(得分:0)
我解决了这个问题。这是解决方案。
使用{{#linkTo}},我已经生成了根页面的链接,如下所示:
{{#linkTo 'abouts' title='Press'}}Press{{/linkTo}}
在AboutsRoute中,我添加了立即执行的重定向。它看起来像这样。
App.AboutsRoute = Ember.Route.extend({
model: function() {
return this.store.findAll('about');
},
afterModel: function(abouts, transition) {
this.transitionTo('about', abouts.get('length'));
}
});