Bir routeParam
veya bir yönerge özniteliğinden veya her neyse aldığım bir dizgim var ve buna göre kapsam üzerinde bir değişken oluşturmak istiyorum. Yani:
$scope.<the_string> = "something".
Ancak, dize bir veya daha fazla nokta içeriyorsa, onu bölmek ve aslında kapsamda "detaya inmek" istiyorum. Öyleyse 'foo.bar'
olmalı $scope.foo.bar
. Bu, basit sürümün çalışmayacağı anlamına gelir!
// 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!
Bir dizgeye dayalı bir değişkeni okurken yaparak bu davranışı elde edebilirsiniz $scope.$eval(the_string)
, ancak bir değer atarken nasıl yapılır?