在两个控制器之间共享数据

时间:2017-05-29 09:32:03

标签: javascript html css angularjs

我正在使用angular 1.x,我正在尝试将数据从一个控制器共享到另一个控制器

我在mainctrl中使用上面的模型。 radiotmplt.radiohead ==' IRU600v3'来自firstctrl。我无法使用rootscope共享数据。请指教。

1 个答案:

答案 0 :(得分:1)

以下是使用RootScope分享数据的演示

链接Jsfiddle

<强>的js

Canvas cnv = new Canvas();
Path pth = new Path();
pth.Fill = Brushes.BlueViolet;
pth.Stroke = Brushes.OrangeRed;

PathGeometry pg = new PathGeometry();
PathFigureCollection pfc = new PathFigureCollection();

PathFigure pf = new PathFigure();

ArcSegment a = new ArcSegment(new Point(200, 100), new Size(300, 300), 45, true, SweepDirection.Clockwise, true);

cnv.Children.Add(pth);
pth.Data = pg;
pfc.Add(pf);
pg.Figures = pfc;
pf.Segments.Add(a);
grd.Children.Insert(0, cnv);

<强> HTML

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

  app.controller('ctrl1', function($scope, $rootScope) {
    $scope.data = 'data';
    $rootScope.data1 = 'old data';
    $scope.setVal = function() {
      $rootScope.data1 = 'new data';
    }
  });

  app.controller('ctrl2', function($scope, $rootScope) {
    $scope.data = $rootScope.data1;
    $scope.$watch('data1', function(o, n) {

      $scope.data = $rootScope.data1;

    })
  });

希望这会对你有所帮助