Ember.js-隐藏嵌套资源中的父视图

Ember.js - Hiding parent views in nested resources

本文关键字:视图 资源 js- 隐藏 嵌套 Ember      更新时间:2024-04-26

我正在构建一个与YouTube功能类似的网络视频应用程序。我想要的URL路径是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 url也显示了video-title模板。

video-title url应显示该视频名称的搜索结果,video-id url应显示特定视频并在视频播放器中播放。

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的新手——也许我不应该把它用于这样的应用程序?

你完全可以完成这个

App.VideoRoute = Ember.Route.extend({
  model: function(params){
    // return model
  },
  renderTemplate: function(controller) {
    // render it into the videos outlet
    this.render('videos', {controller: controller});
  }
});