如何让元素定位到Ember.js中的浏览器窗口?

时间:2014-12-17 08:46:57

标签: css ember.js css-position

似乎只有在应用程序模板中使用position: fixed时才会起作用,如果我将元素置于其他模板下(比如说索引),它将基于ember-view而不是浏览器窗口定位。 / p>

那么如何确保元素保持在当前视图的底部?

感谢。

解决方案:

感谢@Kalman建议有条件的渲染方法,我花了一些时间,所以我做的是:

在application.hbs下有一个指定的插座:

<div class="position-fixed-bottom">
  {{outlet "placeToPutElement"}}  
</div>


当我在路线中需要元素时,通过renderTemplate使用指定的控制器将其渲染出来:

App.SomeRoute = Ember.Route.extend({
  renderTemplate: function()
   {
    this.render('addbtn', {into:'application', outlet: 'placeToPutElement', controller: 'controllerName'})
    //Render other content 
   }
});

因此,当我们调出它时,元素将在应用程序模板中呈现时相对于窗口保持底部。 (只记得使用position: fixed

1 个答案:

答案 0 :(得分:2)

使用{{ outlet }}帮助器时,您的模板将始终插入父模板中(抱歉,无法避免双关语:))。因此,根据定义,这意味着您将无法控制它在整个页面上的显示位置。

您可能需要的是使用render帮助程序。

查看示例here