在meteor上使用jquery-layout
我是meteor和jquery-layout的新手。
我正在努力想看看如何让两者协同工作。 我添加了jquery和jquery-layout包。 我相信我需要在某个阶段要求jQuery布局来布局页面,但什么时候? 如果我在HTML页面中执行此操作,则会收到消息“/ UI布局初始化错误/中心窗格元素不存在./中心窗格是必需元素。”。 我想这是因为meteor尚未加载任何模板。 该示例基于meteor默认应用程序。 我在东窗格中添加了一个额外的模板。 并粘贴在jQuery布局脚本中。
那么我应该在哪里,何时以及如何布局我的页面?
Layouts $(document).ready(function () { $('body').layout({ applyDemoStyles: true }); }); {{> navigation}} {{> hello}} Navigation stuff here
Hello World!
{{greeting}}
实际上问题就像错误所说的那样: 中心窗格是必需的元素。 因此,不要使用ui-layout-east
和ui-layout-north
,请尝试使用ui-layout-east
和ui-layout-center
:
Hello World!
{{greeting}}
此外,初始化布局的适当位置是在模板的.rendered
事件处理程序中。 因此,尝试重构代码,以便有一个主模板,例如下面示例中的root
,然后将您的jQuery初始化代码放在Template.root.rendered
(下面的.js文件的第2行)。 不要在放任何JavaScript,也不要使用
$(document).ready
:
layout.html (假设默认文件名)
Layouts {{> root}} {{> navigation}} {{> hello}} Navigation stuff here
Hello World!
{{greeting}}
layout.js
if (Meteor.isClient) { Template.root.rendered = function() { $('body').layout({ applyDemoStyles: true }); }; }