Ember.js 中的多种布局?

2024-01-18

来自 Rails 背景的您可以拥有多个布局 - 例如,匿名用户页面和经过身份验证的页面。

Ember 可以做到这一点吗?

我尝试在我的 UsersRouter 中声明一个新的 templateName,但没有成功。

我还检查了本指南:http://emberjs.com/guides/views/adding-layouts-to-views/ http://emberjs.com/guides/views/adding-layouts-to-views/

但它似乎不起作用:/


您可以使用{{render}}里面一个if显示不同布局的助手。

例如,如果您有一个ApplicationController具有login and logout操作处理程序,以及相应的“loggedIn”属性。

App.ApplicationController = Ember.Controller.extend({
  loggedIn: false,

  login: function() {
    this.set('loggedIn', true);
  },

  logout: function() {
    this.set('loggedIn', false);
  }
});

您可以绑定到loggedIn应用程序模板内的属性如下所示。

<script type='text/x-handlebars' data-template-name='application'>
<button {{action login }}>Login</button>
<button {{action logout }}>Logout</button>

{{#if loggedIn}}
  {{render 'user'}}
{{else}}
  {{render 'guest'}}
{{/if}}

</script>

Where user and guest是对应的模板。

<script type='text/x-handlebars' data-template-name='user'>
<h1>User layout</h1>
<div class='box user'>
{{outlet}}
</div>
</script>

<script type='text/x-handlebars' data-template-name='guest'>
<h1>Guest layout</h1>
<div class='box guest'>
{{outlet}}
</div>
</script>

这是一个工作jsbin http://jsbin.com/itolih/2/.

编辑:不使用基于某些静态标准或通过加载的应用程序路由model钩子,你可以覆盖renderTemplate的方法ApplicationRoute.

App.ApplicationRoute = Ember.Route.extend({
  renderTemplate: function() {
    var loggedIn = false;
    if (loggedIn) {
      this.render('user');
    } else {
      this.render('guest');
    }
  }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ember.js 中的多种布局? 的相关文章

  • 初始化会破坏rails中的布局设置吗?

    在其中一个控制器中 我需要特定的布局 我添加了layout一开始 效果很好 但如果我添加一个initialize某些基于控制器的变量的函数 Rails 似乎只是忽略了layout命令 有人有同样的问题吗 我该如何修复它 class Admi
  • 如何以编程方式禁用 Android AppWidget 按钮上的 onClick 处理程序

    我在 appwidget 上有一个按钮 我需要从服务中以编程方式 启用 禁用 第一个想法是打电话setBoolean R id buttonid setClickable false 禁用它 但显然你不能打电话setClickable远程
  • 使用最新 Ember Data 版本中的 RESTSerializer 格式化 JSON

    我正在努力将我的 JSON munge 成正确的格式 为了说明这一点 我做了一个快速的 JSfiddle http jsfiddle net chrismasters NQKvy 638 http jsfiddle net chrismas
  • React.js:参考在初始渲染时不可用

    我试图在组件的根 DOM 元素的中间放置一个圆圈 var App React createClass render function return
  • 管理 iOS 中的布局

    我是新来的iOS开发方面 我对 JAVA Swing 和 Windows 应用程序有扎实的背景 我想学习如何进行布局iOS 我猜iOS没有 布局管理器 就像 Java Swing 中的那样 发展的唯一出路UI是否指定每个控制器的尺寸和位置
  • Ember CLI 中的把手助手语法

    在这篇文章中 使用 Handlebars js 迭代基本的 for 循环 https stackoverflow com questions 11924452 handlebar js iterating over for basic lo
  • 更改 Swing 组件的首选大小

    我有一个摆动组件 该组件的理想尺寸将因内容而异当前正在显示 在本例中恰好是图像 我希望在内容更改时更改此首选大小 并且还允许更改布局 例如 如果在 JScrollPane 内使用组件 则滚动范围将更改以适应组件的大小 在 Swing 中执行
  • ScrollView 忽略子级的layout_height

    得到一个包含文本视图和编辑文本的 LinearLayout LinearLayout 位于 ScrollView 内部 ScrollView 位于另一个视图层次结构中 工作空间布局的一部分 类似于 Android 主屏幕 但这会填充父级的高
  • 为什么这个 GWT DockLayoutPanel 的对话框尺寸这么小?

    我使用 GWT 2 0 4 生成了一个新的 Web 应用程序项目 我将 onModuleLoad 代码替换为 public void onModuleLoad DockLayoutPanel dp new DockLayoutPanel U
  • Ember 克隆模型创造新纪录

    我想克隆当前正在编辑的模型 我发现了几种几乎有效的方法 但两者都不完美 1 model get data attributes 获取除驼峰式形式的关系之外的所有属性 生成一条新记录 但关系当然丢失了 2 model serialize 生成
  • 如何在 LaTeX 中对浮点数进行一致编号?

    我有一个 LaTeX 文档 其中我希望浮点数 表格和数字 的编号采用从 1 到 x 的一个数字序列 而不是根据其类型采用两个序列 我也不使用图形或表格列表 也不需要这样做 我的文档类是报告 通常我的浮动有这样的标题 caption Brea
  • 如何在android中画分区的圆?

    我想在我的应用程序中绘制这种类型的圆圈 我可以使用 Canvas 绘制圆圈 但我不知道如何进行分区 谁能建议我如何分割圆 编辑 我想画内圈内的线 提前致谢 这是满足您要求的工作代码 编辑代码 Paint paint1 new Paint P
  • Android:HTC EVO 3d 的布局问题

    首先我的问题是 HTC EVO 3d 支持哪种布局 我将构建通用应用程序 我已通过以下方式设置所有设备的布局 支持多屏 http developer android com guide practices screens support h
  • QMainWindow 上的 Qt 布局

    我设计了一个QMainWindow with QtCreator s设计师 它由默认的中央小部件 aQWidget 其中包含一个QVBoxLayout以及其中的所有其他小部件 现在我想要的一切就是QVBoxLayout自动占据整个中央小部件
  • 创建具有可变宽度
    的定义列表(包括 JSFiddle)

    我有一个定义列表 其中术语和定义的宽度都不同 编辑 为了澄清 当我说变化宽度时 我的意思是它们不能是固定宽度 显然 通过设置 的宽度就可以轻松实现这种效果我需要每一对并排坐着 如果需要的话可以变成多行 而不是包裹在 这是一个 JSFiddl
  • Java Swing:为什么必须调整框架大小,以便可以显示已添加的组件

    我有一个简单的 Swing GUI 不仅如此 我编写的所有 swing GUI 运行它时 除了空白屏幕之外 它不会显示任何内容 直到我调整主框架的大小 因此每个组件都已重新绘制 我可以显示它们 这是我的简单代码 public static
  • Partial、Layout、Template 渲染问题

    情况 因此 当我访问页面时 我希望能够将布局应用到部分 我想要三个具有相同布局的部分 现在 我正在尝试使用以下命令来执行此操作 where shared services essay是这样的 p blah p div blah div
  • 如何在重新渲染 Ember 视图的一部分时随时运行代码?

    我的目标是拥有一个类似 Facebook 的按钮 可以有条件地出现在 Ember 视图中 我的模板是 if condition Click Like div class fb like fb edge widget with comment
  • 在 ember-cli 中安装 Foundation 5

    我对 ember 相当陌生 对构建工具也很陌生 我目前正在使用通常的基础安装以及基础 cli 和指南针来编译我的 css 这有点痛苦 并且对于团队工作来说非常糟糕 我认为用 Bower 安装文件并使用会更好ember cli compass
  • 如何为ScrollView放置固定图像背景?

    我应该想要滚动视图滚动 而不是背景中的图像 将图像添加到滚动视图框架之前的视图层次结构的较高位置

随机推荐