将范围变量传递给新视图

时间:2013-06-14 12:20:06

标签: binding angularjs

我想将特定变量传递给angularJS中的新视图。

这就是我想要做的事情:

$scope.login_username_model = $scope.register_username_model;
$location.path('/confirmation');

在我的确认视图中,我将表单字段绑定到login_username_model。

但是,当我点击确认视图时,我的表单是空的。我该怎么做才能填补这个变量?或者我该怎么调试呢?

1 个答案:

答案 0 :(得分:2)

如果location.path使用不同的控制器调用新路由,则无法像这样传递变量,因为控制器会创建一个新的范围。

您最好的选择(在90%的情况下)是创建一个注入两个控制器的服务。然后,您可以在更改路径/视图之前将用户信息传递给服务,然后将其检索回来,因为服务数据在路由更改时是持久的。

这是一个简单的骨骼设置:(不是我)

https://gist.github.com/exclsr/3595424

如果它是同一个控制器,路由配置中的设置可能有效:

reloadOnSearch: false

您可以按路线设置。