我正在构建一个与YouTube类似的网络视频应用。我想要的网址路径为appname.com/video-title/video-id
。我用这种方式代表它:
App.Router.map(function() {
this.resource('videos', { path: '/:video_title' }, function(){
this.resource('video', { path: '/:video_id' });
});
});
我遇到的问题是video-id
网址还显示video-title
模板。
video-title
网址应显示该视频名称的搜索结果,video-id
网址应显示特定视频并在视频播放器中播放。
HTML:
<script type="text/x-handlebars" data-template-name="videos">
<ul>
{{#each video in model}}
<li>{{video.title}} by {{video.author}}</li>
{{/each}}
</ul>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="videos">
<p>{{title}}</p>
</script>
型号:
var videos = [{
id: '1',
title: 'Skiing in Tahoe',
author: 'daniel'
},{
id: '2',
title: 'Exploring San Francisco',
author: 'nickmillerza'
}];
我是Ember的新手 - 也许我不应该将它用于这样的应用程序?
答案 0 :(得分:3)
你可以完全做到这一点
App.VideoRoute = Ember.Route.extend({
model: function(params){
// return model
},
renderTemplate: function(controller) {
// render it into the videos outlet
this.render('videos', {controller: controller});
}
});