Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue-在进入访问功能之前访问Vue实例_Javascript_Vue.js_Vuejs2 - Fatal编程技术网

Javascript Vue-在进入访问功能之前访问Vue实例

Javascript Vue-在进入访问功能之前访问Vue实例,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我在进入功能之前访问中的“Vue”时遇到问题 当会话过期时,我会有一个小的toast show,告诉用户再次登录 当toast包含一个按钮时,单击该按钮时,我希望触发另一个模式以允许用户登录。这作为sperte组件包含在“Vue”中 如何访问“Vue”(“this”)以触发模态 我试过了;this.app和this.a.app-以及SO和其他地方的列表,以供参考 谢谢 路线 作用 function protectedPage(to, from, next) { if (VueJwtDec

我在进入
功能之前访问
中的“Vue”时遇到问题

当会话过期时,我会有一个小的toast show,告诉用户再次登录

当toast包含一个按钮时,单击该按钮时,我希望触发另一个模式以允许用户登录。这作为sperte组件包含在“Vue”中

如何访问“Vue”(“this”)以触发模态

我试过了;this.app和this.a.app-以及SO和其他地方的列表,以供参考

谢谢

路线

作用

function protectedPage(to, from, next) {
    if (VueJwtDecode.decode(localStorage.token).exp < Math.floor(Date.now() / 1000)) {
      localStorage.removeItem("token");
      Vue.toasted.show("The session has ended. Please login.", {
        theme: "toasted-primary",
        position: "top-center",
        duration: null,
        action: {
          text: "Login",
          onClick: (e, toastObject) => {
            // CODE HERE TO TRIGGER LOGIN MODAL
            next("/");
            toastObject.goAway(0);
          }
        }
      });
      Vue.toasted.hide();
      next("/");
    }
}
功能保护页(到、从、下一页){
if(VueJwtDecode.decode(localStorage.token).exp{
//这里的代码触发登录模式
下一个(“/”);
到目标goAway(0);
}
}
});
Vue.toasted.hide();
下一个(“/”);
}
}

我不确定您是否可以在beforeEnter上查看文档,但您可以在组件内部的beforeRouteEnter上实现同样的效果。通过传递回调

beforeRouteEnter (to, from, next) {
    getPost(to.params.id, (err, post) => {
      next(vm => vm.setData(err, post))
    })
  },
beforeRouteEnter (to, from, next) {
    getPost(to.params.id, (err, post) => {
      next(vm => vm.setData(err, post))
    })
  },