Gemeinsame Nutzung einer Variablen zwischen Controllern in angle.js

Ich bin neu in Angular und frage mich, wie ich eine Variable zwischen Controllern in Angular teilen kann. Ich verwende die folgenden Skripte -

In Main.js:

function MainCntl($scope) {
  ---code
}

function SearchCtrl($scope, $http) {
    $scope.url = 'http://10.0.0.13:9000/processAdHoc';
    $scope.errorM = "No results";     
    $scope.search = function() {

        $http.post($scope.url, { "data" : $scope.keywords}).
        success(function(data, status) {
            $scope.status = status;
            $scope.data = data;
            $scope.result = data; 
            alert('yes');
        })
        .
        error(function(data, status) {
            $scope.data = data || "Request failed";
            $scope.status = status;   
            alert('no');
            $scope.result = "failed";
        });
    };
}

In Index.html

<body ng-controller="MainCntl" >
---code
<div ng-controller="SearchCtrl">
     <form class="well form-search">
     <div class="ui-widget">
          <label for="tags"></label>
          <a ng-click="search()"><input type="image" src="../../images/search1.png" class="searchbox_submit" /></a>
          <input ng-model="keywords" placeholder="Shadow Search" id="tags" class="input-medium search-query rounded" /> 
     </div>
     </form>
</div>
---code
<p ng-model="result">
     {{result}}
</p>
</body>

Alles funktioniert gut mit dem Ajax Ich sende Daten und erhalte eine Antwort, meine Frage ist wie folgt:

In der SearchCtrl-Funktion habe ich eine Variable namens $ scope.result, auf die später in Index.html verwiesen wird. Wenn ich den HTML-Code, der diese Variable enthält, in den SearchCtrl-Controller einfüge, funktioniert er einwandfrei, aber wenn er sich im MainCtrl-Controller befindet, funktioniert er nicht. Wie kann ich diese Variable zwischen den Controllern teilen?

Danke im Voraus

Antworten auf die Frage(1)

Ihre Antwort auf die Frage