Ich habe ein Problem.
app.controller('groupConfigCntrl', ['$http', '$scope', '$routeParams', function($http, $scope, $routeParams){
var id = $routeParams.id,
info = {};
$http.post("/g/getGroup/", {id: id}).success(function(data) {
$scope.info = data;
});
console.log($scope.info);
});
In diesem Fall ist $ scope.info nicht definiert.
$http.post("/g/getGroup/", {id: id}).success(function(data) {
$scope.info = data;
console.log($scope.info);
});
In diesem Fall scope.info $ - haben einige Daten. Warum verhalten sich $ scope wie eine lokale var? Hilfe, es funktioniert nicht, wenn ich versuche, Daten in Ansichten zu binden. Aber in einem ähnlichen Controller funktioniert es.
-Controller, was funktioniert:
app.controller('groupCntrl', ['$http', '$scope', '$uibModal', '$routeParams', '$location', function($http, $scope, $uibModal, $routeParams, $location){
var id = $routeParams.id;
$http.post("/g/getGroup/", {id: id}).success(function(data) {
$scope.info = data;
});
})
Die Funktion innerhalb .success ist ein Callback. Es wird asynchron aufgerufen, nachdem das Ergebnis gekommen ist. Daher sehen Sie den Unterschied. $ scope verhält sich nicht wie eine lokale Variable. – Avinash
Verschieben Sie die Anweisung innerhalb des Erfolgs Callback –
Aber warum in Ansichten, kann ich nicht mit diesem var binden, aber in ähnlichen Controller funktioniert es gut? –