首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在atmosphere包创建的模板内的DOM元素中添加类?

在atmosphere包创建的模板内的DOM元素中添加类?
EN

Stack Overflow用户
提问于 2015-07-01 06:38:07
回答 2查看 69关注 0票数 0

我目前正在使用Meteor,materializecss atmosphere包,以及user-accounts:materialize atmosphere包。我正在尝试使用materialize基于类的样式来更改user-accounts:materialize登录页面的样式,该页面由{{>atForm}}模板创建。

代码语言:javascript
复制
Template.atForm.onRendered( function(){
  var element = $(".at-form, .at-btn");
  element.addClass("grey lighten-2 grey-text text-darken-4");
});

这在最初呈现页面时效果很好。但是,如果我先登录,再注销,那么登录模板就会再次出现,但这次没有调用onRendered()函数,我的样式也丢失了。我该如何避免这种情况?

还有比调用onRendered()更好的方法来影响第三方模板中的元素吗?

EN

回答 2

Stack Overflow用户

发布于 2015-07-01 06:43:02

我建议使用https://github.com/aldeed/meteor-template-extension用您自己的包模板覆盖包模板。我认为,这种方法要容易得多。

@Kyll -我假设自述文件就是一个足够的例子;下面是你如何使用它:

使用以下命令将包添加到meteor项目:

代码语言:javascript
复制
meteor add aldeed:template-extension

添加新模板

代码语言:javascript
复制
<template name="myTemplate">...</template>

在客户端的启动代码中,覆盖模板:

代码语言:javascript
复制
Template.myTemplate.replaces("originalTemplateName");
票数 0
EN

Stack Overflow用户

发布于 2015-07-01 10:12:17

问题是at-form的子模板会发生变化。您需要为它们中的每一个处理onRendered,以确保您的类应用于所有它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31149733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档