需要将带有变量的$ scope传递给angular中的另一个页面吗?

时间:2015-07-23 13:13:48

标签: javascript angularjs

我有这条路线:

$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'。但我没有以前的范围。我怎么能得到这个范围?

1 个答案:

答案 0 :(得分:6)

新路线呈现新模板并将新范围绑定到模板。因此,您无法在两条路线上使用相同的范围。但是,至少有两种解决方法。

1)。的 $ rootScope 即可。 $rootScope在所有视图中都可用,因此您可以在其中存储一些数据,并且可以在任何模板中访问它。

2)。的服务即可。在两个控制器中使用共享服务。对于大多数情况,这可能是最佳解决方案。