gpt4 book ai didi

javascript - 使用 Angular JS 动态绑定(bind)到多级深层对象的 ng-model

转载 作者:行者123 更新时间:2023-11-28 08:36:21 24 4
gpt4 key购买 nike

我对 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; }

我成功地能够为单级深层属性动态绑定(bind) ng-model,例如 Order.LenderName 的示例,我的输入元素是:

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

这完美地绑定(bind)到 $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>

在上面的代码中,我无法弄清楚如何将 Order.Property.State 动态绑定(bind)到 ng-model。 上面的代码仅适用于一层深度。我不知道如何为 order.Property.State 执行此操作 我也尝试这样做:

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

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

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

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

对于上面的,它不绑定(bind)到 order.Property.State,但它创建一个新属性作为 Property[State]。这真的很令人困惑,因为我有 4 或 5 层深度的对象。

非常感谢帮助或建议,提前致谢!!!

最佳答案

我不懂 C#,所以我不太确定你的模型(数据)是什么样的。您能否为我们提供一些 JSON 格式的示例数据,以便我们可以根据您的 View 运行?

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

关于javascript - 使用 Angular JS 动态绑定(bind)到多级深层对象的 ng-model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21121647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com