47

Chrome のコンソールからスコープ変数ウィジェットにアクセスする方法

function MyCntrl($scope) {
    $scope.widgets = [
        {text:'Widget #1', datarow:1, datacol:1, datasizex:3, datasizey:3},
        {text:'Widget #2', datarow:2, datacol:1, datasizex:3, datasizey:3},
        {text:'Widget #3', datarow:1, datacol:2, datasizex:3, datasizey:3},
        {text:'Widget #4', datarow:2, datacol:2, datasizex:3, datasizey:3}
    ];

のようなもの$scope.widgetsは、コンソールでは機能しません!

4

5 に答える 5

34

これは、バットラングなしでスコープを取得する方法です。ページに jquery と angular への参照があると仮定すると、次のことができます。

var scope = angular.element($('#selectorId')).scope();

または、コントローラー名でスコープを検索する場合は、次のようにします。

var scope = angular.element($('[ng-controller=myController]')).scope();

モデルに変更を加えた後、呼び出して DOM に変更を適用する必要があります。

scope.$apply();
于 2014-06-04T17:04:55.693 に答える
31

スコープは DOM にバインドされているため、要素を取得し、Angular コードを使用してスコープを取得する必要があります。

あなたの最善の策は、コントローラーがバインドされている要素を取得し、そのスコープを確認することです。

これが答え です。AngularJSを使用してブラウザのコンソールで$scope変数にアクセスするにはどうすればよいですか?

于 2013-03-27T16:07:28.197 に答える
17

Will の回答に従うか、Angular Batarang Chrome 拡張機能をインストールできます。これにより、たとえば JavaScript コンソールから「$scope」オブジェクトを表示および操作できるようになるだけでなく、複雑な AngularJS アプリを開発する際の基本的なツールにもなります。

于 2013-03-27T17:56:46.517 に答える