Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在angularjs ui-router中的状态内的两个ui视图之间共享数据大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用angular-ui ui-router作为网络应用程序.我有这样的状态/视图配置:

...
.state('parentState',{
    url:'/:id',views: {
        'main@parent': {
            controller: 'ParentMainCtrl',},'sub@parent': {
            controller: 'ParentSubCtrl',})
...

现在,我需要在两个状态(主要和子状态)之间共享数据.一种方法是将解析添加到parentState并将依赖项注入视图的控制器,但之后我将无法在两个视图之间进行数据绑定.我尝试将数据属性添加到parentState,但似乎子视图不会继承它.在这种状态下,兄弟视图之间进行双向数据绑定的方法是什么?

解决方法

在我看来,视图路由器不应该对数据负责.

您应该创建一个包含数据和操作的服务来修改该数据,然后将该服务注入到您的两个控制器中.

关于这一点的好处是,如果你想与除ParentMainCtrl和ParentSubCtrl之外的更多模块共享这个数据源,你可以将服务作为依赖项添加到这些模块.

var myApp = angular.module('myApp',[]);

angular.module('myApp').factory('sharedservice',['$http',function($http) {
    return {
      data: {},// functions to get/set properties in data
    }
  }
]);

angular.module('myApp').controller('ParentMainCtrl',['$scope','sharedservice',function($scope,sharedservicE) {
    $scope.data = sharedservice.data;
  }
]);

angular.module('myApp').controller('ParentSubCtrl',sharedservicE) {
    $scope.data = sharedservice.data;
  }
]);

http://plnkr.co/edit/WHIWUQRJNAmhQQKKJDDl?p=preview

大佬总结

以上是大佬教程为你收集整理的在angularjs ui-router中的状态内的两个ui视图之间共享数据全部内容,希望文章能够帮你解决在angularjs ui-router中的状态内的两个ui视图之间共享数据所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。