我正在使用 UI-Router 在我的应用程序中有一些“菜单”。
$stateProvider.state("list"
url: "/Focales"
templateUrl: "/demo/focals.html"
controller: FocalCtrl)
$stateProvider.state("collection"
url: "/Collections"
templateUrl: "/demo/collections.html"
controller: CollectionCtrl)
在我的 CollectionCtrl 中,我触发了在服务器上完成的处理并等待显示这样的信息(CoffeeScript)
Progress = $resource('/collections/getProgress')
$scope.getProgress = () ->
prg = Progress.get {}, ->
$scope.currentProgress = prg
$scope.getProgress() if prg.end isnt true
我的问题:当用户移动到 Focal 并返回到 CollectionCtrl 时,我有一个新的 CollectionCtrl 实例。据我了解, $scope.getProgress 代码仍然接收数据,但对于 PREVIOUS CollectionCtrl (所以显示没有更新......)
是否可以获得以前的 Controller 而不是 CollectionCtrl 的新“实例”?为什么要创建一个新的 CollectionCtrl ?什么是最好的方法:所以我很想有一个状态数据来存储当前的 $scope,所以我可以做 $state.currentScope = prg 而不是 $scope.currentProgress = prg。这是一个好方法吗?
谢谢 !