我遇到了一个问题,我希望你可以帮助我。基本上我正在尝试使用AngularJS和bootstrap创建动态表单创建页面(只是一个简单的)。我已经成功创建了按钮,当单击时创建表单,然后输入,但是当我尝试在文本输入中输入任何内容时,我会收到错误“无法设置未定义的属性'id1'”。我基本上做的是通过单击我把JSON字符串放在一起的按钮,然后我使用angulars ng-repeat来循环创建的JSON的内容以在屏幕上创建输入等。代码如下所示:
控制器代码(函数映射到相应的按钮):
$scope.createRow = function(){
$scope.newForm.sections[0].rows.push({"attribute": "", "properties":[]});
};
$scope.createInput = function(){
$scope.newForm.sections[0].rows[0].properties.push({"id":"id1", "input": "text"});
}
html代码:
<section id="test" ng-repeat="property in row.properties">
<div class="{{property.inputDivCss || 'col-md-8'}}">
<input
class="{{property.inputClass}}"
type="{{property.type}}"
placeholder="{{property.placeholder}}"
ng-model="enrollmentForm.properties[property.id]"
ng-required="property.required"
name="{{property.id}}"
value="{{property.value}}"
ng-pattern="{{property.pattern}}"
/>
</div>
</section>
正如我所说,当我点击调用createInput的相应按钮时,会显示文本框,一切都很好。只有当我尝试输入文本框时才会出现错误“无法设置未定义的属性'id1'”。我可能正在做一些愚蠢的事情,或者只是忘记初始化某些东西,但对于我的生活,我似乎无法弄明白。
感谢您提供的帮助。
答案 0 :(得分:1)