संपादित करें
जैसा कि एनजी-परिवर्तन के साथ इसका उपयोग करते हुए टिप्पणियों में सही ढंग से उल्लेख किया गया है, पहले से मौजूद होने के लिए "डमी" एनजी-मॉडल की आवश्यकता है। हालांकि यह ध्यान दिया जाना चाहिए कि जाहिरा तौर पर 1.3 के साथ रूपरेखा द्वारा आवश्यक विकल्प प्रदान किए गए हैं। कृपया नीचे देखें https://stackoverflow.com/a/28365515/3497830 !
/ संपादित करें
बस अगर आप मेरे जैसे हैं तो एक साधारण मामले पर अधिक जटिल काम करते हुए लड़खड़ा जाते हैं, यह वह समाधान है जो मैं एनजी-मॉडल के लिए गतिशील रूप से मनमाने ढंग से बंधने के लिए आया हूं: http://plnkr.co/edit/ccdJTmT.zBnqjntEQfAfx?p?p = पूर्वावलोकन
विधि: मैंने एक डाइनेमिक डायनामोडेल बनाया है जो एक मानक कोणीय अभिव्यक्ति लेता है, इसका मूल्यांकन करता है और परिणाम को एनजी-मॉडल और $ संकलन के माध्यम से दायरे से जोड़ता है।
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.data = {};
$scope.testvalue = 'data.foo';
$scope.eval = $scope.$eval;
});
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.data = {};
$scope.testvalue = 'data.foo';
$scope.eval = $scope.$eval;
});
app.directive('dynamicModel', ['$compile', function ($compile) {
return {
'link': function(scope, element, attrs) {
scope.$watch(attrs.dynamicModel, function(dynamicModel) {
if (attrs.ngModel == dynamicModel || !dynamicModel) return;
element.attr('ng-model', dynamicModel);
if (dynamicModel == '') {
element.removeAttr('ng-model');
}
element.unbind();
$compile(element)(scope);
});
}
};
}]);
उपयोग केवल डायनेमिक-मॉडल = "कोणीय एक्सप्रेशन" है जहां कोणीय एक्सप्रेशन एक स्ट्रिंग में परिणाम देता है जो एनजी-मॉडल के लिए अभिव्यक्ति के रूप में उपयोग किया जाता है।
मुझे आशा है कि यह किसी को इस समाधान के साथ आने के सिरदर्द को बचाता है।
सादर, जस्टस