如何使用控制器访问另一个范围?

时间:2015-04-20 17:49:42

标签: angularjs

我知道您可以使用指令创建绑定但是可以使用控制器吗?也许这很愚蠢,但我想不出来。

例如,我想点击x范围视图中的文本,并在另一个范围内执行一个函数。

function firstCtrl() {
    var vm = this;
    vm.data = 'First scope stuff!';
}

function secondCtrl() {
    var vm = this;
    vm.data = 'Second scope stuff!';
  }

  vm.clicked = function() {
    alert('firstScope is clicked!'); 
  };

以下是我的内容:http://plnkr.co/edit/CpPKsEGPZWzufB2K1FK3

1 个答案:

答案 0 :(得分:-1)

如何在控制器之间进行通信有多种方法。 一种方法是在范围上发布事件:



function FirstCtrl($scope) 
{
  $scope.$on('someEvent', function(event, args) {});
  // another controller or even directive
}

function SecondCtrl($scope) 
{
  $scope.$emit('someEvent', args);
}




分享服务的另一种方式。

希望它有所帮助。另请查看此https://stackoverflow.com/a/9407953/4782034