AngularJS: Como posso passar variáveis ​​entre controladores?

Eu tenho dois controladores angulares:

function Ctrl1($scope) {
    $scope.prop1 = "First";
}

function Ctrl2($scope) {
    $scope.prop2 = "Second";
    $scope.both = Ctrl1.prop1 + $scope.prop2; //This is what I would like to do ideally
}

Não posso usarCtrl1 dentroCtrl2 porque é indefinido. No entanto, se eu tentar passar isso assim ...

function Ctrl2($scope, Ctrl1) {
    $scope.prop2 = "Second";
    $scope.both = Ctrl1.prop1 + $scope.prop2; //This is what I would like to do ideally
}

Eu recebo um erro. Alguém sabe como fazer isso?

Fazendo

Ctrl2.prototype = new Ctrl1();

Também falha.

NOTA: Esses controladores não estão aninhados uns dentro dos outros.

questionAnswers(15)

yourAnswerToTheQuestion