开发者问题收集

捕鼠器绑定在 nuxt.js 页面中不起作用

2022-09-08
93

嗨,我希望有人能帮助我。我想在输入特定序列后立即重定向到其他页面。 我在控制台中收到“它有效”但不会重定向。我收到错误消息

"Uncaught TypeError: Cannot read properties of undefined (reading '$router')"

这是我的代码

<script>
export default {
  head() {
    return {
      script: [
        {
          src: "js/mousetrap.min.js",
        },
      ],
    };
  },
  components: {},
  name: "IndexPage",
  mounted() {
    Mousetrap.bind("1 2", function () {
      console.log("It works");
      this.$router.push("/pagename");
      return;
    });
  },
};
</script>

顺便说一句,我使用了来自 https://craig.is/killing/mice 的 Mousetrap 库。

你有什么建议吗?

2个回答

谢谢您的回答!!!这对我很有帮助。将其更改为箭头函数,以便“this.$router”可以保留为 vue 实例。

mounted() {
    Mousetrap.bind("1 2", () => {
      this.$router.push("/pagename");
    });
  }
needhelp
2022-09-08

这样使用可以解决 OP 的问题:

mounted() {
    Mousetrap.bind("1 2", () => {
      this.$router.push("/pagename");
    });
  }
kissu
2022-09-08