gpt4 book ai didi

jquery - 根据 Meteor 中的 URL 更改 Body Class

转载 作者:行者123 更新时间:2023-12-01 02:54:24 25 4
gpt4 key购买 nike

我的应用程序中有一个名为布局的模板。里面有:

<body id="body class="{{blue}}>

基本上我想要实现的是,当你点击一个网址时,例如,www.abc.com/sky,我想添加一个蓝色的主体类:

<body id="body class="blue">

在我的client文件夹中,我有这个,但似乎不起作用:

Template.layout.helpers({
blue: function() {
var loc = window.location.href; // returns the full URL
if(/sky/.test(loc)) {
$('#body').addClass('blue');
}
}
});

我是 javascript 世界的新手,我正在学习教程,但该教程并非针对 Meteor。

最佳答案

您应该修改 onRendered 中的 DOM 元素像这样:

Template.layout.onRendered(function() {
// get the current route name (better than checking window.location)
var routeName = Router.current().route.getName();

// add the class to body if this is the correct route
if (routeName === 'myRoute')
$('body').addClass('blue');
});

Template.layout.onDestroyed(function() {
// remove the class to it does not appear on other routes
$('body').removeClass('blue');
});

另一种(可能更简单)的解决方案是在 body 模板上使用助手:

Template.body.helpers({
klass: function() {
if (Router.current().route.getName() === 'myRoute') {
return 'blue';
}
}
});

那么你的body可能看起来像这样:

<body class="{{klass}}"></body>

关于jquery - 根据 Meteor 中的 URL 更改 Body Class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29994859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com