只是好奇这是否是Angular目前可能的,或者我必须编写自己的指令。
我正在尝试为任何对象上的每个属性动态创建输入标记。为了实现这一点,我正在检查javascript中的对象并创建一个包含映射到相应输入“type”的对象属性名称的数组。
前。
var fields = []
for (var name in myObject) {
if (!myObject.hasOwnProperty(name)) continue;
fields.push({ 'name': name, 'inputType': typeToInputType(myObject[name]) });
}
$scope.fields = fields;
然后在我的标记中,我继续执行以下操作:
<label for="{{f.name}}" ng-repeat="f in fields">
{{f.name}}: <input name="{{f.name}}" ng-model="myObject.{{f.name}}" type="{{f.inputType}}" />
</label>
除非我们达到这个属性,否则一切都很有效:
ng-model="myObject.{{f.name}}"
这导致了严重的问题。它背后的想法是我有一个
$scope.myObject
当人们在输入中输入内容时,例如“名称”输入,那么它应该等同于:
$scope.myObject.Name = "I typed stuff";