Cómo utilizar AngularJS variables de ámbito de acceso $ en la consola del navegador?

本文翻译自: ¿Cómo accedo a la variable $ ámbito en la consola del navegador usando AngularJS?

Gustaría que mi acceso a la I $scopevariable en la consola de JavaScript de Chrome. Quiero el acceso en la consola de JavaScript de Chrome $scopevariables. ¿Cómo lo hago? ¿Cómo lo hago?

Ver CAN ni el yo $scope, ni en el nombre de mi módulo myappen las variables desde la consola. No veo bien $scopeno podía ver mi consola módulo de myappnombre que una variable.


# 1 planta

Referencia: Cómo utilizar el acceso https://stackoom.com/question/vfCE/ AngularJS variables -scope en la consola del navegador


Casa # 2

Elija un elemento en el panel HTML de las herramientas de desarrollo y escribe esto en la consola: Seleccione un elemento en el panel de herramientas de desarrollo HTML, a continuación, introduzca los siguientes elementos en la consola:

angular.element($0).scope()

Un En WebKit y Firefox, $0es una referencia a la seleccionada en el DOM El nodo en los elementos de la ficha, haciendo lo esto para que la seleccionada en el DOM NO HAGA en el ámbito de nodo Impreso en la consola. En WebKit y Firefox, $0se selecciona la pestaña elementos DOM nodos de referencia. por lo tanto, mediante la realización de esta operación, se puede imprimir el nodo DOM rango seleccionado en la consola.

También puede orientar el alcance por el elemento de identificación, de este modo: Puede también prensa elemento ID alcance de orientación, como sigue:

angular.element(document.getElementById('yourElementId')).scope()

Complementos / Extensiones de complemento / extensión

Hay algunas extensiones de Chrome muy útiles que es posible que desee comprobar hacia fuera: Es posible que necesite para comprobar algunas extensiones muy útiles Chrome:

  • Batarang . Bata Lang Esto ha estado alrededor por un tiempo. Ha sido un tiempo.

  • Inspector-ng . Ng-Inspector . Esta es la más reciente, y como su nombre indica, se le permite inspeccionar los alcances de su aplicación. Esta es la última, como su nombre lo indica, le permite comprobar el rango de aplicación.

Jugando con jsFiddle 玩jsFiddle

Trabajando con CAN jsFiddle que el cuándo abierta en el violín en Mostrar el MODO mediante la adición /showde AT en la dirección URL en el extremo del. Al utilizar jsFiddle, se puede visualizar mediante la adición al final del modo de dirección URL /showpara abrir el violín. Corriendo como el presente que ha de tener el acceso a cuando El angular, Ingreso libre Ltd. , Como correr, puede acceder angularglobal. Puedes probarlo aquí: Puedes probarlo aquí:

http://jsfiddle.net/jaimem/Yatbt/show http://jsfiddle.net/jaimem/Yatbt/show

jQuery Lite jQuery Lite

La carga jQuery que el antes AngularJS SI, angular.elementPUEDE SER UN selector de jQuery pasó. Si carga jQuery antes AngularJS, angular.elementpuede ser a angular.elementpasar selector de jQuery. Por lo que podría inspeccionar el alcance de un controlador con el resultado, puede utilizar el siguiente comando para comprobar la gama de controladores

angular.element('[ng-controller=ctrl]').scope()

Un botón pulsador A

 angular.element('button:eq(1)').scope()

Y así sucesivamente .... ... y así sucesivamente.

En realidad, puede que desee utilizar un global de función para que sea más fácil: en realidad se podría querer usar la función global para que sea más fácil:

window.SC = function(selector){
    return angular.element(selector).scope();
};

Ahora usted puede hacer esto ahora, se puede hacer esto

SC('button:eq(10)')
SC('button:eq(10)').row   // -> value of scope.row

Aquí el papel pintado Comprobar: http://jsfiddle.net/jaimem/DvRaR/1/show/ comprueba aquí: HTTP : //jsfiddle.net/jaimem/DvRaR/1/show/


Casa # 3

En algún lugar de su controlador (a menudo la última línea es un lugar bueno), poner el controlador en una ubicación (por lo general la última línea es un lugar bueno), en

console.log($scope);

Si desea ver un interior / alcance implícito, por ejemplo dentro de un ng-repetición, algo así como este trabajo. Para ver el ámbito interno / implícita, como en el ng-repetición, se puede utilizar de manera similar.

<li ng-repeat="item in items">
   ...
   <a ng-click="showScope($event)">show scope</a>
</li>

Luego, en su controlador y el controlador

function MyCtrl($scope) {
    ...
    $scope.showScope = function(e) {
        console.log(angular.element(e.srcElement).scope());
    }
}

Tenga en cuenta que anteriormente definimos el showScope ( función) en el ámbito padre, pero eso está bien ... el / ámbito interno / implícita niño pueda acceder a esa función, que luego imprime el alcance basado en el evento, y por lo tanto el alcance asociado con el elemento que generó el evento. nota por favor, que lo anterior definimos showScope () en el ámbito de los padres, pero no importa ... el niño / interno / ámbitos implícitos podemos acceder a la función, a continuación, que funcionan de acuerdo con el evento Print ámbito de aplicación, lo que desencadena elemento asociado con el alcance del evento.

También el Consejo de JM-@ Works, pero el no me creo que funciona de Dentro De Un jsFiddle. Recomendar @ JM-puede ser, pero yo creo que no funciona en el interior jsFiddle. Me sale este error en el interior jsFiddle Chrome : Recibí este error en jsFiddle en Chrome:

 > angular.element($0).scope() ReferenceError: angular is not defined 


# 4 piso

Para mejorar la respuesta de JM ... con el fin de mejorar la respuesta jm ...

// Access whole scope
angular.element(myDomElement).scope();

// Access and change variable in scope
angular.element(myDomElement).scope().myVar = 5;
angular.element(myDomElement).scope().myArray.push(newItem);

// Update page to reflect changed variables
angular.element(myDomElement).scope().$apply();

O si usted está usando jQuery, este hace lo mismo ... o si estás usando jQuery, puede hacer lo mismo ...

$('#elementId').scope();
$('#elementId').scope().$apply();

Una forma de fácil acceso Otro elemento DOM desde la consola (jm mencionado AS) ¿ES ON en el clic en la ficha 'Elementos', y el se almacena automáticamente como $0. Otra forma sencilla de acceder al elemento DOM desde la consola (por ejemplo, JM a) haciendo clic en la pestaña "elementos", se almacena automáticamente como $0.

angular.element($0).scope();

Casa # 5

Has de haber instalado SI batarang Si ya ha instalado batarang

A continuación, sólo se puede escribir: A continuación, se puede escribir:

$scope

cuando se tiene el elemento seleccionado en los elementos de la vista en cromo. Cuando se selecciona un elemento en elementos de Chrome a la vista. Ref - https://github.com/angular/angularjs-batarang#console referencia -https: //github.com/angular/angularjs-batarang#console


Casa # 6

El acepto a los mejores es batarang con ella es $scopela vez que el objeto UN Selección (es al mismo, AS angular.element($0).scope()o el aún más corto con jQuery: $($0).scope()(mi favorito)) Estoy de acuerdo en que lo mejor es seleccionar el objeto angular.element($0).scope()de $scope(y angular.element($0).scope(), o incluso más corto que jQuery: $($0).scope()(I más como))

También, si tiene tener como mí en el ámbito principal de encendido bodyElemento, A $('body').scope()funciona bien. Además, si, como yo, estará sujeta gama se encuentra en bodylos elementos, que $('body').scope()puede funcionar correctamente.

Artículos originales publicados 0 · ganado elogios 136 · vistas 830 000 +

Supongo que te gusta

Origin blog.csdn.net/xfxf996/article/details/105250115
Recomendado
Clasificación