我正在使用Router5创建一个非常基本的客户端(即本质上是一个网站)。我有我的代码集,以便当用户单击按钮时,隐藏了我不想要的元素(添加了类hidden
)。我想要显示的元素删除了hidden
类。效果很好。但是,当我处于非index
状态并刷新时,index
状态中的元素会重新出现。
我查看了控制台以进行调试。当我刷新时,索引视图中的hidden
类确实被删除了,我不知道为什么。
我对编码比较陌生,所以我非常感谢你能得到的任何帮助。
这是我的转换代码。正如我所说的那样,当我从一个视图转到另一个视图时它会起作用,但是当我刷新一个不是index
的视图时,会再次出现index
个元素之一:
const transition = function() {
return (toState, fromState, done) => {
if (fromState) {
$(`#${fromState.name}`).addClass('hidden');
}
$(`#${toState.name}`).removeClass('hidden');
done();
};
};
其他相关代码:
const routes = router.rootNode.children.map((route) => {
return route.name;
});
const registerPaths = () => {
routes.forEach((route) => {
$(`a[href="#${route}"]`).on('click', (event) => {
event.preventDefault();
router.navigate(route);
});
});
};
$(document).ready(function () {
require('./router/index').start();
require('./router/events').registerPaths();
});
我认为这就是一切。如果您需要查看其他代码以便提供帮助,请与我们联系。
谢谢!
答案 0 :(得分:0)
问题是甚至DEFAULT视图状态都需要在HTML中具有.hidden
类。我还在了解有关路由器的更多信息!