0

私は2つのコントローラーを備えた単純なAngularアプリに取り組んでいます:

function Invite($scope) {
$scope.fieldsets =
    [
        {
        fields:
            [
                {
                    label: 'First Name',
                    name: 'firstname',
                    key: 'entry.810220554',
                    type: 'text',
                    required: true
                },
                {
                    label: 'Last Name',
                    name: 'lastname',
                    key: 'entry.1653030831',
                    required: true,
                },
                {
                    label: 'Email',
                    name: 'email',
                    key: 'entry.1727688842',
                    required: true,
                    type: 'email',
                },
                {
                    key: 'entry.1602323871',
                    type: 'radio',
                    labels:
                    [
                        {
                            name: 'media',
                            label: 'Media'
                        },
                        {
                            name: 'frilans',
                            label: 'Frilans'
                        }
                    ],
                }
            ],
        }
    ];
}

function Questionnaire($scope, $http){
    $scope.post = function(){
        console.log();
        $http.post('/signup.php', $scope.quiz).
        success(function(data, status, headers, config){
            console.log(data);
        });
    };
 }

Questionare-scope は、invite スコープの子です。簡易版のレイアウトはこちら

<div ng-controller="Invite">
   <form ng-controller="Questionnaire" method="POST" ng-submit="post()">
     <input ng-model="{{field.key}}" />
   </form>
</div>

最初のものは、キー値を ng-model として使用するフォームを生成します。2番目のスコープで、そのキーを使用してサーバーに投稿できるようにします。

初めて使ってみた

 <input ng-model="{{field.key}}" /> 

私の html テンプレートでは、これは私の直感的な推測でしたが、エラーが表示されました。

 <input ng-model="field.key" /> 

これもエラーになります。

ここに plnkr があります: http://plnkr.co/edit/rnQXlCCFQypVLs20OuTt?p=preview

4

1 に答える 1