【问题标题】:Referencing a dynamically created ng-model引用动态创建的 ng-model
【发布时间】:2016-10-24 19:13:01
【问题描述】:

我有一个表单,它允许用户上传一个 json,用选择/文本框输入填充这个空白表单。因为这些输入是动态生成的(因为它基于他们上传的 json),所以我需要能够引用他们输入的答案(ng-model)。

所以说 json 看起来像: var jsonObj=[ {"type": "select", "label": "Name", "values": ["a", "b", "c"], "default": "a"}, {"type": "select", "label": "Age", "values": [1, 2, 3]} ]

我通过以下方式在 for 循环中动态插入这些输入:

var newInputCol='<' + jsonObj[i].type + ' ng-model="' + jsonObj[j].label + '" class="form-control" ></' + jsonObj[j].type + '>';
var newInputRowElement = angular.element(newInputRow);
element.append(newInputRowElement);
$compile(newInputRowElement)($scope);

另外,我没有在 html 中使用 ng-repeat,因为我正在尝试对其进行布局,因此 json 中的每 3 个输入都有一个新行。但为了这样做,我需要使用 ng-repeat 吗?我看到的所有答案都使用 ng-repeat 和一个空对象进行引用(例如:How to generates dynamically ng-model="my_{{$index}}" with ng-repeat in AngularJS?)

用户在单击按钮后填写了他们自己生成的表单后,我需要做什么来控制台记录所有 ng-models(这可以通过在按钮 onclick 或 ng-click 中放置一个函数来完成) ?

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    我想我明白了,一个简单的 $scope[$scope.jsonObj[i].label] 可以引用它。还有其他方法还是我应该坚持这样做?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      • 1970-01-01
      相关资源
      最近更新 更多