나는 routeParam
지시어 속성 등에서 얻은 문자열을 가지고 있으며 이것을 기반으로 범위에 변수를 만들고 싶습니다. 그래서:
$scope.<the_string> = "something".
그러나 문자열에 하나 이상의 점이 포함 된 경우이를 분할하고 실제로 범위로 "드릴 다운"하고 싶습니다. 그래서 'foo.bar'
이되어야 $scope.foo.bar
. 이것은 단순 버전이 작동하지 않음을 의미합니다!
// This will not work as assigning variables like this will not "drill down"
// It will assign to a variables named the exact string, dots and all.
var the_string = 'life.meaning';
$scope[the_string] = 42;
console.log($scope.life.meaning); // <-- Nope! This is undefined.
console.log($scope['life.meaning']); // <-- It is in here instead!
문자열을 기반으로 변수를 읽을 때를 수행하여이 동작을 얻을 수 $scope.$eval(the_string)
있지만 값을 할당 할 때 어떻게 수행합니까?