我想使用angular'机制进行深度属性嵌套,这是ng-model
指令正在使用的东西。我的意思是我们可以通过在视图中编写ng-model="data.obj1.prop2.attr3.value4.text"
来在范围中创建非常“深”的对象,所以我想在控制器/服务中轻松地完成它。我不想重新发明轮子(或使用this或this)。有没有像angular.create(path_str)
那样的无证件?
答案 0 :(得分: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");