【问题标题】:When refreshing view state in Router5, part of another view reappears在Router5中刷新视图状态时,另一个视图的一部分再次出现
【发布时间】:2017-07-18 21:11:47
【问题描述】:

我正在使用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();
});

我认为这就是一切。如果您需要查看其他代码以提供帮助,请告诉我。

谢谢!

【问题讨论】:

    标签: javascript css refresh reload


    【解决方案1】:

    问题是即使是默认视图状态也需要在 HTML 中包含 .hidden 类。我还在学习更多关于路由器的知识!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多