angular-js:在 ui-router 中创建了多个控制器实例

angular-js: Multiple instances of controller being created in ui-router

我注意到,每当 $state.go() 应用于 AngularJS UI-Router 中具有参数的状态时,[=21= 的新实例] 内容 [for that view] 每次都被创建。稍后在程序中调用 $state.go() 后,不仅 HTML 内容,而且控制器的创建次数与 $stateParams 上出现的新参数一样多。

如何停止 HTML 内容和控制器的新实例停止出现,同时仍将参数传递给 $stateParams?我想对 $stateParams 持有的任何数据使用相同的控制器、相同的范围和相同的 HTML 内容。非常感谢您!

是的,这是可能的。禁用缓存。

这是通过多种方式完成的。其中一种方法是在定义状态时禁用缓存。例如:

$stateProvider.state("home",
    {
        url:'/home',
        cache:false,
    }

改编自