使用angularjs时重复控制器

时间:2014-09-21 03:32:08

标签: angularjs angularjs-routing angularjs-controller

我使用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变量绑定模板,用于创建,更新配置列表。

第一次访问" config-root&#34时,一切正常路线,我可以生成,更新......列表。

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

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

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您可以使用rootScope保留下次的值。

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

如果您不想污染$ rootScope,您只需将值存储在localStorage中作为字符串,并在需要时获取它。

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