0

我正在开发一个带有两个控制器的简单角度应用程序:

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。在第二个范围内,以便我可以使用该密钥将它们发布到服务器。

我首先尝试使用

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

在我的 html 模板中,这是我的直觉猜测,但它呈现了一个错误。

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

这也给出了错误。

这是一个 plnkr: http ://plnkr.co/edit/rnQXlCCFQypVLs20OuTt?p=preview

4

1 回答 1

0

问卷范围内无对象fields。您可以通过 using 在外部范围内引用对象ng-repeat=field in $parent.fields,我不确定嵌套范围是否通过原型继承相关。

另一种方法是创建一个跟踪字段的服务,并将其注入所有需要访问数据的控制器中。

于 2013-09-19T12:14:58.353 回答