Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor 流星&x2013;在呈现另一个模板后操作该模板_Meteor - Fatal编程技术网

Meteor 流星&x2013;在呈现另一个模板后操作该模板

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

我正试图用JS在呈现后处理包
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
替换它。我最终设法使用
模板使其正常工作。