$scope.model值在AngularJS中的控制器中未定义

$scope.model值在AngularJS中的控制器中未定义,angularjs,Angularjs,我是个新手,最近我遇到了一个问题, 我无法在controller中获取值:ng模型值($scope.yourAns,$scope.questionID),一旦我提交了表格,如果我能找到解决此问题的方法或帮助,我将非常高兴 下面是我的角度代码。 App.js var wmlabApp = angular.module('wmlabApp', [ 'ngRoute', 'ngMaterial', 'labcatControllers', ]); wmlabApp.config

我是个新手,最近我遇到了一个问题, 我无法在controller中获取值:ng模型值($scope.yourAns,$scope.questionID),一旦我提交了表格,如果我能找到解决此问题的方法或帮助,我将非常高兴

下面是我的角度代码。 App.js

var wmlabApp = angular.module('wmlabApp', [
    'ngRoute',
    'ngMaterial',
    'labcatControllers',
]);
wmlabApp.config(['$routeProvider',
function($routeProvider) {
    $routeProvider.
    when('/questionList/:qId', {
        templateUrl: 'view/questionAndAns.html',
        controller: 'questionAndAnsCtrl'
    }).
    otherwise({
        redirectTo: '/library'
    });
}]);
questionAndAns.html

<div>
<div ng-repeat="item in items">

    <h1>{{item.question}}</h1>
    <hr />
    <div ng-if="item.answer">
        <h3>{{item.answer.length}} Answers</h3>
        <ul>
            <li ng-repeat="ans in item.answer">
                <h5>{{ans.aId}}</h5>
                <p id="ans.aId">{{ans.answers}}</p>
            </li>
        </ul>
        <hr />
    </div>

    <h3>Your Answer</h3>
    <div>
        <div id="messages" ng-show="message">{{ message }}</div>
        <form ng-submit="processForm()">
            {{item.qId}}
            <input type="hidden" ng-model="questionID" ng-value="questionID = item.qId" id="qID" ng-class="{ 'has-error' : errorqId }" name="questionID" />
            <span class="help-block" ng-show="errorqId">{{ errorqId }}</span>

            <textarea name="yourAns" ng-model="yourAns" ng-class="{ 'has-error' : errorAns }"></textarea>
            <span class="help-block" ng-show="errorAns">{{ errorAns }}</span>

            <input type="submit" id="submit" value="Submit" />
        </form>
    </div>

</div>

如果您计划在ng repeat中使用表单,则必须对html进行某些更改。请看一下这个以获取更多参考。ng重复需要如下所示
  • key={{{key}},value={{{value}},itemsInObj[key]=
  • 要扩展@J-D所说的内容,你没有一个
    你的人
    ,你的
    你的人
    和你的
    项目一样多,因此控制器不可能知道您要提交的是哪一个。@J-D so。我应该在ng模型中输入什么值,以便我可以访问ng模型中的值controller@J-D感谢您的快速反馈。您建议在有静电干扰时工作正常。但我需要动力$scope.customFields=[“年龄”、“体重”、“种族”]//这是符合我的要求的静态$scope.formField=[,,,,,,,,…]//
    
    labcatControllers.controller('questionAndAnsCtrl', ['$scope', '$http', '$routeParams',
    function($scope, $http, $routeParams) {
        var param = {
            "qId": $routeParams.qId
        };
        
        $http.post('questionAndAns.php', param).success(function(data) {
            $scope.items = data;
        });
        console.log($scope.yourAns);
        console.log($scope.questionID);
        
        $scope.processForm = function() {
            var params = {
                "yourAns" : $scope.yourAns,
                "questionID" : $scope.questionID    
            }
            console.log(params)
            $http.post('setQuestionAns.php', params).success(function(data) {
                    console.log(data);
                    if (!data.success) {
                        $scope.errorAns = data.errors.ans;
                        $scope.errorqId = data.errors.qId;
                    } else {
                        // if successful, bind success message to message
                        $scope.errorAns = ""
                        $scope.errorqId = ""
                        
                        $scope.message = data.message;
                        $scope.formData.yourAns = "";
                        var param = {
                            "qId" : $scope.formData.questionID
                        }
                        $http.post('questionAndAns.php', param).success(function(data) {
                            $scope.items = data;
                        });
                    }
                });
        };
    }]);