Meteor 流星&x2013;在呈现另一个模板后操作该模板
我正试图用JS在呈现后处理包Meteor 流星&x2013;在呈现另一个模板后操作该模板,meteor,Meteor,我正试图用JS在呈现后处理包ian:accounts-ui-bootstrap-3中的模板loginButtons。该模板包含在我的模板login中,我正在尝试使用template.login.onRendered来实现此操作。问题是JS在loginButtons呈现之前运行,因此它不能按预期工作 <template name="login"> <div id="login"> <h1>Title</h1> {{> log
ian:accounts-ui-bootstrap-3
中的模板loginButtons
。该模板包含在我的模板login
中,我正在尝试使用template.login.onRendered
来实现此操作。问题是JS在loginButtons
呈现之前运行,因此它不能按预期工作
<template name="login">
<div id="login">
<h1>Title</h1>
{{> loginButtons}}
</div>
</template>
Template.login.onRendered(function () {
$(".dropdown-toggle").remove();
$("#login-dropdown-list").addClass("open");
});
标题
{{>loginButtons}
Template.login.onRendered(函数(){
$(“.dropdown toggle”).remove();
$(“#登录下拉列表”).addClass(“打开”);
});
我怎样才能做到这一点
非常感谢你的帮助 您无需编辑accounts ui包即可将偶数处理程序添加到该包中包含的模板中。要仅在使用
登录
模板时附加此处理程序,只需将其附加到该模板的处理程序中即可:
Template.login.onRendered(函数(){
Template.loginButtons.onRendered(函数(){
$(“.dropdown toggle”).remove();
$(“#登录下拉列表”).addClass(“打开”);
});
});
将此事件添加到loginButtons模板中,而不是loginLike@Sindis说-您的“loginButtons”DOM元素可能还没有准备好。因此,您应该使用Template.loginButtons.onRendered
生命周期事件我不想每次使用loginButtons
模板时都运行该JS,只在login
模板中运行。另一个问题是,loginButtons
是一个包中的模板,我不想直接编辑这个包。谢谢你!该代码不能直接工作,但它为我指明了正确的方向。该代码给了我错误无法读取未定义的属性“onRendered”
。我认为这是因为ian:accounts-ui-bootstrap-3
没有使用loginButtons
模板,而是用\u loginButtons
替换它。我最终设法使用模板使其正常工作。