首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Angular Ui路由器:停止$state.go以重新加载控制器,但更改URL

Angular Ui路由器:停止$state.go以重新加载控制器,但更改URL
EN

Stack Overflow用户
提问于 2014-04-30 09:17:04
回答 2查看 10.7K关注 0票数 5

我的应用程序在选项卡之间切换时使用$state.go,这会导致重新初始化控制器,这些控制器中的作用域变量会更新,并导致内存泄漏。有没有一种方法可以停止重新初始化控制器,但在状态更改时更改URL?

下面的示例是我应用程序中的routes.js。

代码语言:javascript
运行
复制
.state('home', 
{
    abstract    : true,            
    url         : '/home',
    templateUrl : 'scripts/home.html'
})
.state('home.summary', 
{
    url        : '/summary?userId', 
    controller : 'SummaryCtrl',                
    views      : 
    {               
        summary: 
        {
            templateUrl: 'scripts/home/summary.html'
        }
    }
})
.state('home.summary.detail', 
{
    url        : '/detail/:id',
    controller : 'DetailCtrl',                 
    views      : 
    {               
        detail: 
        {
            templateUrl: 'scripts/home/detail.html'
        }
    }
})

如果已经为唯一id加载了DetailCtrl,如何在进入home.summary.detail状态时停止重新加载DetailCtrl但更改URL?

也尝试在子状态的解析中执行$q.reject,它会停止重新加载控制器,但不会更改url。

我也尝试了reloadOnSearch=false,它会停止控制器的重新加载,但不会更改url。

EN

回答 2

Stack Overflow用户

发布于 2014-09-04 00:53:56

您可以使用$state.transitionTo而不是$state.go$state.go在内部调用$state.transitionTo,但会自动将选项设置为{ location: true, inherit: true, relative: $state.$current, notify: true }。您可以调用$state.transitionTo并设置location: false。例如:

代码语言:javascript
运行
复制
$state.go('.detail', {id: newId}) 

可以替换为

代码语言:javascript
运行
复制
 $state.transitionTo ('.detail', {id: newId}, { location: false, inherit: true, relative: $state.$current, notify: true }) 
票数 4
EN

Stack Overflow用户

发布于 2014-04-30 10:47:47

你可以有一个包含内存泄漏代码的抽象控制器。并且当url改变时抽象控制器不会更新。

这是来自官方github资源库的文档

https://github.com/angular-ui/ui-router/wiki/Nested-States-%26-Nested-Views

看一下组合部分。

在这个演示中,contacts控制器将只调用一次contacts.detail控制器将在您每次更改状态时更新,但与contacts控制器http://plnkr.co/edit/gmtcE2?p=preview共享作用域

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23378045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档