输入无效时,动态ng模型的Ng重复

时间:2015-07-02 11:43:39

标签: angularjs

在控制器中,我有一个这样的列表:

scope.data = [ { user: { address: { city: 'Boston'} } } ];

还有一个属性,我可以使用该名称访问该对象:

scope.propertyName = 'user.address.city';

在HTML中,我进行了重复操作,我将动态输入用于编辑该值。

<div ng-repeat="item in data">
    <input ng-model="item[propertyName]">
</div>

我的问题是:如何使用ng-model绑定项目的值?

2 个答案:

答案 0 :(得分:1)

由于ng-repeat

,你可以这样做
<input ng-model="item.user.address.city" />

所以你需要声明:

$scope.propertyName = 'address.city';

Demo

答案 1 :(得分:0)

您可以使用compile创建指令,以间接设置ng-model:

compile: function(el, attrs) {
      return function(scope, el) {
        el.attr('ng-model', attrs.ngModelItem + '.' + scope[attrs.ngModelRef]);
        $compile(el)(scope);
      };
    }

请在jsbin上查看我的样本:

http://jsbin.com/xizucu/edit?html,js,output