使用angularjs时复制控制器

使用angularjs时复制控制器,angularjs,angularjs-routing,angularjs-controller,Angularjs,Angularjs Routing,Angularjs Controller,我是usnig AngularJs 1.2.25。我有一个路由配置: $routeProvider.when( '/config-root', { templateUrl: configRootTemplate, controller: "ClientConfig", } ).when( '/config-action/:action/:_id', { templateUrl: configActionT

我是usnig AngularJs 1.2.25。我有一个路由配置:

$routeProvider.when(
    '/config-root',
    { 
        templateUrl: configRootTemplate,
        controller: "ClientConfig",
    }
).when(
    '/config-action/:action/:_id',
    { 
        templateUrl: configActionTemplate, 
        controller: "ClientConfigAction",
    }
).otherwise({redirectTo: '/'});
在ClientCOnfig控制器中,我有一个$scope.listConfig变量与模板绑定,用于创建、更新配置列表

一切正常当我第一次访问“配置根”路由时,我可以生成、更新。。。名单

但当第二次或到目前为止,$scope.listConfig在生成列表时正确更改时,请更新。。。但模板不会改变

我认为当我再次访问该路由时,会创建一个$scope的新实例,并且不会与模板绑定


如何修复它?

您可以使用rootScope为下次保存该值

$scope
更改为$rootScope,并在需要时访问它

// To store the value 
localStorage['config'] = JSON.stringify(someObj)  
// To fetch the value 
var myConfigObj = JSON.parse(localStorage['config'])
如果不想污染$rootScope,可以将值作为字符串存储在本地存储中,并在需要时获取它

// To store the value 
localStorage['config'] = JSON.stringify(someObj)  
// To fetch the value 
var myConfigObj = JSON.parse(localStorage['config'])

谢谢你的回答,但我认为这个解决方案不是我需要的。因为$rootScope是全局的,所以不适合管理变量。如果使用localStorage,我不能使用angularjs的数据绑定。您可以使用可以注入任何控制器的常量。参考angularjs常量。