2

Я хочу использовать угловой механизм для глубокого вложения свойств, что-то, что использует директива ng-model. Я имею в виду, что мы можем создать очень «глубокий» объект в области, написав: ng-model="data.obj1.prop2.attr3.value4.text" в представлении, поэтому я хочу сделать это легко в контроллере/службе тоже. Я не хочу изобретать велосипед (или использовать this или this). Есть что-то недокументированное как angular.create(path_str)?ngModel 'создание объектов глубоких объектов

ответ

4

Один из способов, которым вы можете достичь, - использовать службу $parse. Он имеет getter и setter функция, я думаю, что может обрабатывать то, что вы хотите

var getter = $parse('prop1.prop2.prop3.prop4'); 
    var setter = getter.assign; 
    setter($scope,"value1111"); 

Смотрите эту скрипку http://jsfiddle.net/cmyworld/m7gxn/

И я думаю, что это также работает

$scope.$eval("prop2.prop2.prop3.prop4=55"); 
+0

Это как 'ngModel' делает это слишком , – Andyrooger

+0

отлично, я проверю его через минуту – Cherniv

+0

вот оно! супер! – Cherniv

Смежные вопросы