4

モデル「ユーザー」を入力フィールドのリストにバインドしようとしています。事前にフィールドがわからないので、フィールドに基づいてフォームをセットアップするための汎用コードを作成する必要があります。

<script>
    function MyController($scope){
        $scope.fields  = ['name','password','dob'];
        $scope.user1 = {name:"Shahal",password:"secret"}
    };
</script>
<div ng-app ng-controller="MyController">
    <ul>
        <li ng-repeat="field in fields">
            <label>{{field}}</label><input type="text" ng-model="user1.{{field}}">
        </li>
    </ul>
    <pre>{{fields}}</pre>
</div>

フィールドをループして、各フィールドの入力フィールドを表示しようとしています (範囲内で利用可能)。しかし、ng-model 内の式を評価しようとしているため、バインディングは適切ではありません。

基本的に、対応するフィールドにオブジェクト user1 が添付された 3 つの入力フィールド (name、password、dob) を表示しようとしています。

これがフィドルです

何か助けはありますか?

4

1 に答える 1

6

以下はあなたの問題を解決します

<script>
    function MyController($scope){
        $scope.fields  = ['name','password','dob'];
        $scope.user1 = {name:"Shahal",password:"secret"}
    };
</script>
<div ng-app ng-controller="MyController">
    <ul>
        <li ng-repeat="field in fields">
            <label>{{field}}</label><input type="text" ng-model="user1[field]">
        </li>
    </ul>
    <pre>{{fields}}</pre>
</div>
于 2013-05-09T17:31:06.243 に答える