Javascript 使用Angular JS动态绑定到多层深度对象的ng模型

Javascript 使用Angular JS动态绑定到多层深度对象的ng模型,javascript,angularjs,Javascript,Angularjs,我是Angular JS的新手,遇到了一个问题。我正在创建一个动态表单,其中元素来自数据库,例如: 订单对象: public int Id { get; set; } public string LenderName { get; set; } public PropertyModel Property { get; set; } PropertyModel对象: public string Zip{ get; set; } public string State { get; set

我是Angular JS的新手,遇到了一个问题。我正在创建一个动态表单,其中元素来自数据库,例如: 订单对象:

public int Id { get; set; }
public string LenderName { get; set; }   
public PropertyModel Property { get; set; } 
PropertyModel对象:

public string Zip{ get; set; }
public string State { get; set; }
我成功地为单层深层属性(如Order.LenderName)动态绑定了ng模型。我的输入元素是:

<input type="text" ng-model="order[element.ModelName]"></input>

这完全绑定到$scope.order.LenderName

注意:element.ModelName=“LenderName”或者更确切地说,我可以说是订单属性名称

我的示例代码如下:

<div ng-repeat="element in eventSchemaElementList">
    <div ng-switch="element.FieldTypeCode">
        <div class="topBottomPadding">
            <div class="col-sm-2 alignRight">
                <label>{{element.SchemaFieldName}}:</label>
            </div>
            <div ng-switch-when="TextBox" class="col-sm-10">
                <input type="text" ng-model="order[element.ModelName]" />
            </div>
            <div ng-switch-when="TextArea" class="col-sm-10">
                <textarea ng-model="order[element.ModelName]"></textarea>
            </div>
        </div>
    </div>
</div>

{{element.SchemaFieldName}}:
在上面的代码中,我无法理解如何将Order.Property.State动态绑定到ng模型。 以上代码仅适用于一个级别。我不知道如何为order.Property.State执行此操作 我也试过这样做:

<input type="text" ng-model="order[element.ModelName]" />

其中element.ModelName=属性[状态]

我还尝试硬编码,因为输入中的order[Property[State]]仍然不起作用

<input type="text" ng-model="order[Property[State]]" />

对于上述属性,它不会绑定到order.Property.State,但会创建一个新属性作为Property[State]。这真的很让人困惑,因为我有4或5层深的物体

我们将非常感谢您的帮助或建议,提前谢谢

我不知道C,所以我不确定你的模型(数据)是什么样子。您能给我们一些JSON格式的示例数据,以便我们可以针对您的视图运行吗


我不知道JavaScript是否真的是不允许的,但我不会写
order[Property[State]]
,而是使用点符号
order.Property.State
。希望这能有所帮助。

尝试在控制器中创建字符串order['Property']['State'],例如$scope.myString='order[\'Property\'][\'State\']”,并在ng模型中引用与ng model=“a=myString”相同的字符串。

如果您想拥有order.Property.State

在json或数组中

名称=属性
和子名称=状态


您可以调用order[element.name][element.subname]

感谢您的回复。它实际上与order.Property.State一起工作,但它应该是硬编码的,这就是问题所在,我正在尝试动态绑定到ng模型。下面是JSON文档中的示例数据:Array[0]Id:0 LenderLoanNumber:“123124234”LenderName:“ClientABC”Product:“Something”属性:对象属性类型:空状态:空对不起,我不太明白你的意思。你说它“应该硬编码”,但你想“动态绑定”,这是一种矛盾修饰法。另外,如果您有时间,JSFIDLE也不错。我的意思是,当我像使用它一样使用它时,但我希望使用对象动态绑定它,而不必说order.Property.State。我想我可以提供一个更好的JSFIDLE示例。非常感谢您的回复。