0

只是好奇这是否是当前在 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"; 
4

0 回答 0