Javascript 使用Angular JS动态绑定到多层深度对象的ng模型
我是Angular JS的新手,遇到了一个问题。我正在创建一个动态表单,其中元素来自数据库,例如: 订单对象: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
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示例。非常感谢您的回复。