在Router5中刷新视图状态时,会再次出现另一个视图的一部分

时间:2017-02-28 03:21:31

标签: javascript css refresh reload

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

我认为这就是一切。如果您需要查看其他代码以便提供帮助,请与我们联系。

谢谢!

1 个答案:

答案 0 :(得分:0)

问题是甚至DEFAULT视图状态都需要在HTML中具有.hidden类。我还在了解有关路由器的更多信息!