首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相同的路由但不同的设备模板

相同的路由但不同的设备模板
EN

Stack Overflow用户
提问于 2015-03-22 08:01:55
回答 2查看 76关注 0票数 2

我所处的情况是,我需要为同一路由上的特定设备加载不同的模板。例如,登录页面是一个路由,但需要为3个设备(台式机、平板电脑、手机)加载不同的模板。第一步是设备滞留,但接下来最好的方法是什么呢?

媒体查询不是一个选项,因为我不想缩小我的桌面窗口,看到平板电脑或手机的布局。

EN

回答 2

Stack Overflow用户

发布于 2015-03-22 10:30:20

我将在服务器上进行浏览器检测,并根据设备提供不同的模板文件。编写三组模板并将它们编译成单独的Javascript文件,然后在页面加载时提供正确的Javascript文件。如果你以相同的方式命名和编译所有的模板,Ember甚至不会知道你有不同的模板。

票数 0
EN

Stack Overflow用户

发布于 2015-03-22 12:03:14

您可以通过覆盖您的路由内部的renderTemplate方法,根据某些条件显示不同的模板。以下是每次访问路由时呈现随机模板的示例:

代码语言:javascript
复制
App.ThatRoute = Ember.Route.extend({
  renderTemplate: function() {
    var random = Math.random();
    console.log(random);

    if(random > .5){
      this.render('template1');  
    }
    else {
      this.render('template2');
    }   
  }
});

使用jsbin here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29189455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档