routeParam
またはディレクティブ属性などから取得した文字列があり、これに基づいてスコープに変数を作成します。そう:
$scope.<the_string> = "something".
ただし、文字列に1つ以上のドットが含まれている場合は、分割して実際にスコープに「ドリルダウン」したいと思います。そう'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)
、値を割り当てるときにどのように行うのですか?