只是好奇这是否是当前在 Angular 中可行的,或者我是否必须编写自己的指令。
我正在尝试为任何对象上的每个属性动态创建输入标签。为此,我在 javascript 中检查对象并创建一个数组,其中包含映射到相应输入“类型”的对象属性名称。
前任。
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";