Angularjs 角度ui路由器1中的DeepStateRedirect-如何重置深度状态?
我正在使用angularJS并迁移到ui路由器v1。我试图让深度状态重定向像以前版本的ui路由器一样工作 我已经在我的配置模块中成功地实现了DSRPlugin,深度状态重定向正在启动并按预期工作。但是,我无法重置深度状态。我需要能够重置按钮点击的深度状态,这意味着我的组件内的逻辑。以前,我可以将$deepStateRedirect注入我的控制器,并简单地调用$deepStateRedirect.reset({}),但是我不再能够注入$deepStateRedirect。如何访问ui路由器v 1中的重置方法 我还注意到,当使用DSR作为配置对象时,可以指定一个函数来确定是否发生重定向。我也可以用它来决定是否进行重定向,但是缺少文档。它表明我应该返回一个truthy值来执行重定向,或者返回一个false值来防止重定向。在测试中,返回true或false只会导致转换错误:“i.state不是函数” 我没有使用构建过程,只是简单的脚本包含。Angularjs 角度ui路由器1中的DeepStateRedirect-如何重置深度状态?,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我正在使用angularJS并迁移到ui路由器v1。我试图让深度状态重定向像以前版本的ui路由器一样工作 我已经在我的配置模块中成功地实现了DSRPlugin,深度状态重定向正在启动并按预期工作。但是,我无法重置深度状态。我需要能够重置按钮点击的深度状态,这意味着我的组件内的逻辑。以前,我可以将$deepStateRedirect注入我的控制器,并简单地调用$deepStateRedirect.reset({}),但是我不再能够注入$deepStateRedirect。如何访问ui路由器v 1中
有没有人知道如何通过上述两种方法进行重置?这可能不是重置的最佳实践方式,但我在注销各种ui路由器对象后找到了解决方案 在控制器内部,必须注入$uiRouter对象。然后,您可以将变量设置为$uiRouter.\u plugins[“deep state redirect”]。重置()和其他方法在插件的原型上可用 然后,您可以使用该对象并调用这些方法,类似于注入$deepStateRedirect时在上一版本中的工作方式
var $deepStateRedirect = $uiRouter._plugins["deep-state-redirect"];
$deepStateRedirect.reset({});