【发布时间】:2015-12-09 14:20:00
【问题描述】:
我想定义一些变量,以便稍后在我的应用布局被渲染后用于确定我的 jQuery 选择器的范围。
我试图用以下方式定义它们:
Meteor.startup(function () { /* Define variables */ })
但它不起作用,对象是空的
这是我声明应用程序布局的方式:
Router.configure({
layoutTemplate: 'layout'
});
这是布局本身:
<template name="layout">
<div id="page_container">
<header id="page_header">
</header>
<div id="page_content">
{{> yield}}
</div>
</div>
</template>
以下是我愿意声明的变量:
L.BODY = $("body");
L.PC = $("#page_content", L.BODY);
声明本身工作正常,但L.BODY 显示我的应用程序主体在我尝试声明这些变量时仍然是空的。
我的应用程序布局呈现后如何定义 jQuery 对象?
【问题讨论】:
-
当时我没有意识到
layout被视为另一个模板。非常感谢您的帮助! -
如果您需要在执行任何 JQuery 操作之前保证 DOM 元素存在,这个问题和我的回答可能会很有趣。 stackoverflow.com/questions/32461639/…
-
@KassymDorsel 是的,它非常接近,但主题不同(
#each的迭代),它在这里不太适用。
标签: javascript jquery meteor