我目前正在使用Meteor,materializecss atmosphere包,以及user-accounts:materialize atmosphere包。我正在尝试使用materialize基于类的样式来更改user-accounts:materialize登录页面的样式,该页面由{{>atForm}}模板创建。
Template.atForm.onRendered( function(){
var element = $(".at-form, .at-btn");
element.addClass("grey lighten-2 grey-text text-darken-4");
});这在最初呈现页面时效果很好。但是,如果我先登录,再注销,那么登录模板就会再次出现,但这次没有调用onRendered()函数,我的样式也丢失了。我该如何避免这种情况?
还有比调用onRendered()更好的方法来影响第三方模板中的元素吗?
发布于 2015-07-01 06:43:02
我建议使用https://github.com/aldeed/meteor-template-extension用您自己的包模板覆盖包模板。我认为,这种方法要容易得多。
@Kyll -我假设自述文件就是一个足够的例子;下面是你如何使用它:
使用以下命令将包添加到meteor项目:
meteor add aldeed:template-extension添加新模板
<template name="myTemplate">...</template>在客户端的启动代码中,覆盖模板:
Template.myTemplate.replaces("originalTemplateName");发布于 2015-07-01 10:12:17
问题是at-form的子模板会发生变化。您需要为它们中的每一个处理onRendered,以确保您的类应用于所有它们。
https://stackoverflow.com/questions/31149733
复制相似问题