Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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
在完成特定操作/任务后,是否有办法中断或退出vue.js中已安装的挂钩循环?_Vue.js_Vuejs2 - Fatal编程技术网

在完成特定操作/任务后,是否有办法中断或退出vue.js中已安装的挂钩循环?

在完成特定操作/任务后,是否有办法中断或退出vue.js中已安装的挂钩循环?,vue.js,vuejs2,Vue.js,Vuejs2,我目前正在从事一个与vuex相关的项目。为了启动该网站,我希望在vue文件的html部分不创建按钮的情况下触发一个函数。我使用挂载的钩子生命周期来调用javascript函数,但我希望在完成特定操作后脱离挂载的生命周期。一旦某项操作完成,是否有可能中断已装载的生命周期?如果是,我们怎么做?您应该可以使用return 例如: mounted() { console.log(`Now you see me`); return; console.log(`Now you don't`);

我目前正在从事一个与vuex相关的项目。为了启动该网站,我希望在vue文件的html部分不创建按钮的情况下触发一个函数。我使用挂载的钩子生命周期来调用javascript函数,但我希望在完成特定操作后脱离挂载的生命周期。一旦某项操作完成,是否有可能中断已装载的生命周期?如果是,我们怎么做?

您应该可以使用return

例如:

mounted() {
  console.log(`Now you see me`);
  return;
  console.log(`Now you don't`);
}

只执行第一个console.log,return将退出函数。

Hi,return在我的情况下不起作用。我调用了一个函数,该函数将我重定向到auth0身份验证页,等等。即使在调用auth0login函数后输入return,它仍会继续装载生命周期并不断重新加载页面(即,它在循环中调用auth0login()),您能将代码粘贴到这里还是粘贴到codepen/jsfiddle中吗?如果我看到您正在查看的内容,会更容易一些:)
mounted:function(){this.auth0login()//仅在用户未登录返回时调用;}
因此,我在mounted中调用的是auth0login()。在我调用这个函数之后,它并没有脱离挂载的生命周期,而是一次又一次地调用这个函数。此函数负责验证有效用户。它成功地验证了用户,但不断刷新页面(即,它不断再次调用auth0login()->重新验证)。如果我添加一个登录按钮,然后从html文件中的按钮调用auth0login(),此函数工作正常。当我删除登录按钮,并试图从挂载的钩子调用此函数时,就会出现这个问题。您正在装载的生命周期中调用此.auth0login()。您被重定向到身份验证页面,在那里获得身份验证,然后被发送回您的页面,在那里装载的生命周期再次运行,并再次将您发送到身份验证,从而创建一个无限循环。如果发生了这种情况,您就不能用return停止它,因为当您被重定向时,您会离开页面,当您被重定向回页面时,组件会再次挂载。这就是正在发生的事情吗?