Ng-repeat使用键和值,然后使用键作为ng-model的指令值



是否有可能在ng-model指令中使用作用域变量的键?

我想要的不是手动为每个ng-model指令放置键,我只是想使用ng-repeat并获得作用域变量的键,并将其放在ng-repeat指令中的ng-model上。

我只是这个框架的新手。如有任何帮助,不胜感激

<

标记片段/strong>

<div ng-show="editing">
    <input ng-repeat="(key, value) in editing" ng-model="editing.key">
</div>  

<html ng-app>
<head>
    <title>Demo</title>
    <script type="text/javascript" src="js/lib/angular.min.js"></script>
    <script type="text/javascript" src="js/controllers/app.js"></script>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="css/bootstrap-responsive.min.css">
</head>
<body>
    <div classs="container" ng-controller="UserProfile">
        <ul>
            <li ng-repeat="user in users"><a href="" ng-click="editProfile(user.id)">{{user.id}} - {{user.fname}} </a></li>
        </ul>
        <div ng-show="editing">
            <input ng-repeat="(key, value) in editing" ng-model="editing.key">
        </div>  
    </div>
</body>
</html>
Javascript

function UserProfile ($scope) {
  $scope.users = {
    "ID01": {
      "id": "ID01",
      "fname": "Vincent",
      "lname": "Panugaling",
      "gender": "male",
      "age": "21",
    },
    "ID02": {
      "id": "ID02",
      "fname": "Adrian",
      "lname": "Santos",
      "gender": "male",
      "age": "22"
    },
    "ID03": {
      "id": "ID03",
      "fname": "Incognito",
      "lname": "Mode",
      "gender": "female",
      "age": "21"
    }
  };
  $scope.editProfile = function (id) {
    $scope.editing = $scope.users[id];
  };
}

这是您期望的视图吗?请看看,是的,可以使用key作为ng-model。
嘿,老兄,你使用的是angular 1.0.1版本,这就是为什么你可以编辑一次,然后focus就会使用最新版本。

更新小提琴

<div classs="container" ng-app="app" ng-controller="UserProfile">
        <ul>
            <li ng-repeat="user in users"><a href="" ng-click="editProfile(user.id)">{{user.id}} - {{user.fname}} </a></li>
        </ul>
        <div ng-show="editing">
            <input ng-repeat="(key, value) in editing" ng-model="editing[key]">
        </div>  
    </div>

angular.js

var app = angular.module('app', []);
function UserProfile ($scope) {
  $scope.users = {
    "ID01": {
      "id": "ID01",
      "fname": "Vincent",
      "lname": "Panugaling",
      "gender": "male",
      "age": "21",
    },
    "ID02": {
      "id": "ID02",
      "fname": "Adrian",
      "lname": "Santos",
      "gender": "male",
      "age": "22"
    },
    "ID03": {
      "id": "ID03",
      "fname": "Incognito",
      "lname": "Mode",
      "gender": "female",
      "age": "21"
    }
  };
  $scope.editProfile = function (id) {
    $scope.editing = $scope.users[id];
  };
}

最新更新