2016-11-09 4 views
1

У меня есть ионное приложение, которое использует angularjs. Внутри углового контроллера я не могу напечатать $scope с console.log($scope). Однако я могу получить доступ к переменным нравится $scope.var.

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

Выход

1  453753 log  SettingCtrl 
2  453760 log  end 

Он игнорирует линию, ссылающийся на $ объем полностью. Что мне здесь не хватает?

Update: Я модифицировал и назначил какое-то значение для $ охвата как

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

И выход для этого

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

Что такое console.dir? – Sajeetharan

+0

его способ печати объектов – avck

+0

Вы даже знаете, что такое область действия? Как будто вы пытаетесь напечатать var. Вы должны дать ему значение, если вы ожидаете, что оно что-то напечатает, таким образом вы просто объявляете его . Пожалуйста, прочтите https://docs.angularjs.org/guide/scope – Marko

ответ

0

В инспекторе браузера это будет работать, но если вы смотрите регистрируются на вашем терминале после запуска

$ ionic run

значит он может игнорировать любой console.dir. Чтобы обойти эту проблему, вы можете console.log(JSON.stringify(object)), но я не уверен, что она будет работать на объекте $scope, потому что она не может быть стягиваема из-за круговых ссылок

Смежные вопросы