javascript - 按名称定义 ng-model

标签 javascript angularjs

我有一个非常复杂的模型,例如:

model = {
  "data_level1": {
    "data_level2": {
      "data_level3": {
        "data_level4": "myvalue"...

我怎样才能避免写:

<input type="text" ng-model="model.data_level1.data_level2.data_level3.data_level4" />

并写成类似:

<input type="text" ng-model="data_level4" />

谢谢。

最佳答案

在 Controller 中执行:

$scope.subModel = $scope.model.data_level1.data_level2.data_level3;

然后:

<input type="text" ng-model="subModel.data_level4"  />

注意:您不能将 subModel 设置为 data_level4,因为它只是一个字符串,设置为 data_level3 将具有 subModel 引用原始模型中的同一对象。

编辑:添加pnlkr由@ryanyuyu完成

关于javascript - 按名称定义 ng-model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31588374/

相关文章:

html - 错误 : Argument 'accomplishmentController' is not a function, 未定义

javascript - 无法通过在 javascript 中识别对象的父 ID 将对象插入父数组

javascript - 火狐扩展。 DOMContentLoaded 在某些页面上多次触发

javascript - Vuex : state change not updating input field

javascript - 为什么这个 JS 语法有效(额外的大括号)?

html - 无法对齐 html 文件中的两个元素

javascript - 如何在 AngularJS 中使用 jqLit​​e 的方法

javascript - 有没有其他方法可以避免 Angular 1 中的 $timeout

javascript - li 的自动宽度适合文本?

javascript - 嵌套 AngularJS promise 在单元测试中不起作用