Ich habe derzeit 2 Javascript-Controller: SelectAll und ListAllDomains. Ich versuche, die Methode getBeanName (definiert in listAllDomains) in der Steuerung selectAll unter aufzurufen:Anruf Funktion von einem Controller in einem anderen in angularjs
response = $http.post('/invoke/selectAll/', INSERT_CALL_HERE);
Als Hinweis, das Objekt von der Methode zurück getBeanName wird als Argument an den $ http weitergegeben werden. post() -Methode und wird von einem Java-Controller behandelt.
app.controller('listAllDomains', ['$http', '$scope', '$rootScope', function ($http, $scope, $rootScope) {
$scope.showSpinner = true;
$scope.showBtn = false;
let dataObj;
$http.get('domains/').then(function (response) {
$scope.showSpinner = false;
$scope.domains = response.data;
});
$scope.showButton = function(eleStatus) {
let eleSize = Object.keys(eleStatus).length;
return !eleSize;
};
$scope.getBeanName = function (objectType, objectName) {
dataObj = {
type : objectType,
name : objectName,
methodName : "select",
methodParameters : ["true"]
};
localStorage.setItem("dataObj", dataObj);
console.log(dataObj);
$rootScope.$emit("invokeSelectAll", dataObj);
return dataObj;
}
}]);
app.controller('selectAll', ['$http', '$scope' , '$rootScope',
function ($http, $scope, $rootScope) {
var response;
$rootScope.$on("invokeSelectAll", function(){
$scope.invokeSelectAll();
});
$scope.invokeSelectAll = function(){
console.log(localStorage.getItem("dataObj"));
response = $http.post('/invoke/selectAll/', INSERT_CALL_HERE);
response.success(function(data, status, headers, config) {
$scope.responses = data ? data : "Select Operation not supported on this bean";
});
}
}]);
Jede Hilfe wäre sehr geschätzt! Vielen Dank!
jede Eltern-Kind-Beziehung zwischen den Controllern? – Rahul
Definieren Sie die Methode "getBeanName" in einem Service und fügen Sie diesen Service in beide Controller ein. Dann können Sie es von jedem Controller aus aufrufen, in den Sie den Service injiziert haben. –
Mögliches Duplikat von [Daten zwischen AngularJS-Controllern teilen] (https://stackoverflow.com/questions/21919962/share-data-between-angularjs-controllers) – anoop