如何在布局渲染后初始化jQuery对象?

Ale*_*ier 3 javascript jquery meteor

我想定义一些变量,用于在我的应用程序布局呈现之后立即调整jQuery选择器的范围.

我尝试用以下方法定义它们:

Meteor.startup(function () { /* Define variables */ })
Run Code Online (Sandbox Code Playgroud)

但它没有用,对象是空的

以下是我如何声明我的应用程序布局:

Router.configure({
  layoutTemplate: 'layout'
});
Run Code Online (Sandbox Code Playgroud)

这是布局本身:

<template name="layout">
  <div id="page_container">
    <header id="page_header">
    </header>

    <div id="page_content">
      {{> yield}}
    </div>
  </div>
</template>
Run Code Online (Sandbox Code Playgroud)

以下是我愿意声明的变量:

  L.BODY = $("body");
  L.PC   = $("#page_content", L.BODY);
Run Code Online (Sandbox Code Playgroud)

声明本身工作正常,但L.BODY在我尝试声明这些变量时,显示我的应用程序的主体仍然是空的.

一旦我的应用程序的布局呈现,我如何定义jQuery对象?

Kyl*_*yll 5

layout只是另一个模板.jQuery需要存在DOM元素才能创建一个对象.

从那里onRendered回调是要走的路:

Template.layout.onRendered(function() {
  L.BODY = $('body');
  L.PC   = $('#page_content', L.BODY);
});
Run Code Online (Sandbox Code Playgroud)