मेरे पास एक स्ट्रिंग है जिसे मैंने 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)
, लेकिन एक मूल्य प्रदान करते समय इसे कैसे करें?