2016-11-09 4 views
1

Ich habe eine ionic app, die angularjs verwendet. Im Winkelregler kann ich $scope mit console.log($scope) nicht drucken. Allerdings kann ich auf Variablen wie $scope.var zugreifen.

angular.module('starter.controllers', ['starter.services','ngCordova']) 
.controller('SettingCtrl', function($scope){ 
    console.log('SettingCtrl '); 
    console.log($scope); 
    console.log('end'); 
} 

Der Ausgang ist

1  453753 log  SettingCtrl 
2  453760 log  end 

es die Leitung vollständig zu $ ​​scope Referenzierung ignoriert. Was fehlt mir hier?

Update: I geändert und einen Wert zu $ ​​Bereich zugewiesen wie

console.log('SettingCtrl '); 
$scope.var = 1; 
console.log($scope.var); 
console.dir($scope); 
console.log('end'); 

Und die Ausgabe für diesen

1  332968 log  SettingCtrl 
2  332970 log  1 
3  332972 log  end 
+0

anfragebar ist was ist console.dir? – Sajeetharan

+0

es ist eine Möglichkeit zum Drucken von Objekten – avck

+0

Wissen Sie, was Umfang ist? Es ist wie Sie versuchen, var zu drucken. Sie müssen es einen Wert geben, wenn Sie erwarten, dass es etwas zu drucken, auf diese Weise Sie gerade erklären es Bitte lesen Sie https://docs.angularjs.org/guide/scope – Marko

Antwort

0

In einem Browser Inspektoren wird dies funktionieren, aber wenn Sie beobachten die Ihr Terminal wird nach dem Start von

$ ionic run

angemeldet

dann könnte es keine console.dir ignorieren. Zur Umgehung dieses Problems können Sie console.log(JSON.stringify(object)), aber ich bin mir nicht sicher, es würde auf dem $scope Objekt funktionieren, weil es möglicherweise nicht aufgrund von Zirkelbezüge