如何修复 AdminLTE 2.4.0 和 turbolinks 5 的身高

How to fix body height for AdminLTE 2.4.0 and turbolinks 5

我正在尝试为我的管理应用程序设置 AdminLTE,除了在视图之间导航后调整内容大小外,一切都很顺利。

发生这种情况是因为 turbolinks 阻止了页面重新加载并且不会调用 window.onResize(或其他)等事件。如果我手动调整大小window,高度将是固定的。

我在这里找到了解决方案 -> https://github.com/almasaeed2010/AdminLTE/issues/563#issuecomment-242715795 ,但它不起作用,因为 $.AdminLTE is undefined.

我查看了 AdminLTE 来源,但不幸的是我的 javascript 技能不够好,无法查找正确的代码,所以我想知道用什么代替 $.AdminLTE.

这里是项目维护者的回答——https://github.com/almasaeed2010/AdminLTE/issues/1667

var ready = function () {
    return $(window).trigger('resize');
};
document.addEventListener('turbolinks:load', ready);

我相信这在未来的版本中也应该有效,届时负责 resizing/fixing 布局的一些代码将被更改。

要获取 layout 插件的当前实例,您可以使用以下代码段:

var $layout = $('body').data('lte.layout')

然后您可以调用任何方法,例如:

$layout.activate() 
$layout.fix()