【发布时间】:2015-04-08 17:39:25
【问题描述】:
在这里挣扎于一个简单的$( document ).ready()。
不知道我做错了什么。
Materialize 需要在 DOM 就绪 上初始化 jquery 组件。找到一种方法来初始化所有视图上的组件非常棘手。
这里是在线DEMO
通过阅读文档:这应该初始化子模板所需的所有内容:
Template.layout.rendered = function(){
$('ul.tabs').tabs()
}
}
但是,这仅适用于硬页面刷新,不适用于路由视图的链接。
因此,您必须在每个模板上初始化该元素将被使用
Template.x.rendered ...
Template.y.rendered ...
这里是github code
顺便说一句,我们已经尝试过铁路由器事件:
onRun
onBeforeAction
onAfterAction
所有这些似乎都发生在路由的模板内容出现之前。我注意到 onBeforeAction 需要调用 this.next() 才能继续,我什至尝试在下一次调用后查找 DOM 内容。
我也尝试像这样重写我们的路线:
Router.route('someRoute', function() {
this.render('someRoute');
// look for DOM content, still not found
});
【问题讨论】:
-
感谢 Ethaan 的清理工作
标签: meteor iron-router materialize