我有这条路线:
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl',
controllerAs: 'main'
})
.when('/next', {
templateUrl: 'views/next.html',
controller: 'MainCtrl',
controllerAs: 'main'
})
.otherwise({
redirectTo: '/'
});
当我在主页面时。我点击下一步按钮,然后看到'views / next.html'。但我没有以前的范围。我怎么能得到这个范围?
答案 0 :(得分:6)
新路线呈现新模板并将新范围绑定到模板。因此,您无法在两条路线上使用相同的范围。但是,至少有两种解决方法。
1)。的 $ rootScope 即可。 $rootScope
在所有视图中都可用,因此您可以在其中存储一些数据,并且可以在任何模板中访问它。
2)。的服务即可。在两个控制器中使用共享服务。对于大多数情况,这可能是最佳解决方案。