Hallo Ich versuche, Daten von einem Controller zu einem anderen zu übergeben, aber die Daten werden nicht am anderen Ende der Benutzeroberfläche angezeigt.Daten werden nicht zwischen Controllern übertragen
das ist mein Service-Code: -
app.factory('ServiceF', function($rootScope) {
var service = {};
service.data = false;
service.sendData = function(data){
this.data = data;
$rootScope.$broadcast('data_shared');
};
service.getData = function(){
return this.data;
};
return service;
});
Regler 1 Code: -
app.controller('Ctrlone', ["$scope", "ServiceF", function ($scope, ServiceF) {
$scope.Info= {};
$scope.ser= function(){
ServiceF.sendData($scope.Info);
console.log($scope.Info);
};
}]);
Die $scope.Info
Daten erfolgreich hier aus einer anderen Quelle kommt die Ich habe nicht gepostet. Aber es kommt.
Controller 2: -
app.controller('Ctrltwo', ["$scope" ,"ServiceF",
function($scope , ServiceF) {
$scope.Info= '';
$scope.$on('data_shared',function(){
var good = ServiceF.getData();
$scope.Info = good;
});
}]);
UI, wo ich Informationen angezeigt werden soll: -
<div class="col-sm-8">
<h1 class="mainTitle">Ok Start </h1>
<h2>{{good}}</h2>
</div>
Button-Klick-Funktion vom 1. UI: -
<label class="cardlabel" style="width:11vw" ui-sref="uitwo" ng-click="ser()">Send</label>
Wohin gehe ich jetzt falsch? Info wird nicht auf der 2. Benutzeroberfläche angezeigt. Und wie kann ich prüfen, ob Daten den Service weitergeben?
Es wäre viel einfacher, Fehler in Ihrem Code zu finden (und zu vermeiden), wenn Sie ihn ordnungsgemäß und konsistent eingerückt haben und wenn Sie die Namenskonventionen respektiert haben. Die Hälfte Ihrer Variablen beginnt mit einem Kleinbuchstaben und die andere Hälfte mit einem Großbuchstaben. Wie erinnerst du dich daran, welche welche Konvention benutzt? Warum nicht immer die gleiche Konvention verwenden? –
@JBNizet Ich werde das im besseren Format verbessern, Danke. Ich erinnere mich. – WhoAmI