私はAngular JSを初めて使用し、スコープオブジェクトをセットアップするだけの基本的なAngularアプリを持っており、スコープオブジェクトを初期化/作成するためのいくつかの関数をセットアップしています。関数内で console.log を使用すると、console.log の時点でのスコープ オブジェクトの値ではなく、スコープ関数の最後に設定された $scope 値が報告されます。これは基本的な実行順序の問題であると確信しており、この問題についての説明や助けをいただければ幸いです。
角度コードは次のとおりです。
var module = angular.module('my-app', []);
function MainController($scope)
{
$scope.testDict = {};
$scope.createNewTestDict = function(){
$scope.testDict.test1 = {1: false, 2: false, 3: false}
}
$scope.initializeDict = function(){
$scope.createNewTestDict();
console.log($scope.testDict);
$scope.testDict.test1 = {1: true, 2: true, 3: true}
}
$scope.initializeDict();
}
JSFiddle ここ: http://jsfiddle.net/U6ZKr/7/
したがって、ログの時点での実際のスコープ オブジェクトの console.log はすべての値が false であるはずですが、console.log の後に設定された値はすべて true になっています。
よろしくお願いします。