如何创建一个等待来自另一个模板的onRendered事件的方法
How do you create a method that awaits an onRendered event from another template?
我使用的是一个ionic框架包,我有一个侧边栏类。有一个名为ionSideMenu.snapper
的类,从源代码来看,它是在呈现ionSideMenuContainer
模板时定义的,所以我通过以下操作来绕过它:
import {Template} from "meteor/templating";
import {ReactiveField} from "meteor/peerlibrary:reactive-field";
export const Snapper = new ReactiveField(false);
// now when the side menu is rendered, `IonSideMenu.snapper` should be defined.
Template['ionSideMenuContainer'].onRendered(() => Snapper(IonSideMenu.snapper));
但是,我想在Sidebar
类上创建一个静态方法,等待定义Snapper
,然后运行disabled
函数。
export class Sidebar extends BlazeComponent {
static disable() {
// await the snapper to be defined
Snapper().disable();
}
}
这个等待的函数是如何完成的,这样我就可以从任何其他模板调用它,并且它在渲染时会被禁用?
相信我已经找到了答案。如果有人需要,请张贴。
import {Tracker} from "meteor/tracker";
// ...
class Sidebar extends BlazeComponent {
static _awaitSnapperReady(callback) {
Tracker.autorun(c => {
const snapper = Snapper();
if (snapper) {
callback(snapper);
c.stop(); // end the current computation.
}
});
}
static disable() {
Sidebar._awaitSnapperReady(snapper => snapper.disable());
}
}
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 使用clickToggle并在单击另一个元素时关闭元素
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 无法从jquery Mobile导航栏重定向到另一个页面
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 导航到特定事件的另一个变量页面
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 如何在react js中将值从一个组件发送到另一个组件
- 按我自己的类克隆另一个元素的内容和顺序
- 在另一个函数中使用变量this
- 如何在react js中从一个页面导航到另一个页面
- 在另一个函数成功结束后调用该函数
- 如何创建一个等待来自另一个模板的onRendered事件的方法