如何在角度ui路由中将日期值从一个控制器传递到另一个控制器

时间:2015-08-17 09:55:45

标签: angularjs angular-ui-router

我想使用角度UI路由将用户在一个页面中选择的日期值传递给另一个页面。这些控制器之间没有父子关系。提前谢谢

2 个答案:

答案 0 :(得分:1)

最佳实践

您应该使用setter和getter为要共享的数据创建服务,然后可以在希望在其间共享数据的控制器中实例化这些服务。

这使您可以安全地在两者之间移动数据。

<强>替代

如果你想快速而又脏的方式在控制器之间共享数据然后使用$ rootScope,它就作为一个全局变量,但请记住这些变量存在问题,请参阅here

答案 1 :(得分:0)

根据作用域设置的变量可通过原型继承获得。

  

每个应用程序都有一个根作用域。所有其他范围都是根范围的后代范围。范围通过用于观察模型变化的机制提供模型和视图之间的分离。它们还提供事件发射/广播和订阅设施

样品

angular.module('myApp', [])   
.controller('myCtrl', function($scope, $rootScope) {

       $rootScope.myCtrlVariable = new Date();// Your date-picker selected Date 

})
.controller('myCtrl2', function($scope, $rootScope) {

   $scope.myCtrl2Variable = $rootScope.myCtrlVariable;
});