$scope.model值在AngularJS中的控制器中未定义
我是个新手,最近我遇到了一个问题, 我无法在controller中获取值:ng模型值($scope.yourAns,$scope.questionID),一旦我提交了表格,如果我能找到解决此问题的方法或帮助,我将非常高兴 下面是我的角度代码。 App.js$scope.model值在AngularJS中的控制器中未定义,angularjs,Angularjs,我是个新手,最近我遇到了一个问题, 我无法在controller中获取值:ng模型值($scope.yourAns,$scope.questionID),一旦我提交了表格,如果我能找到解决此问题的方法或帮助,我将非常高兴 下面是我的角度代码。 App.js var wmlabApp = angular.module('wmlabApp', [ 'ngRoute', 'ngMaterial', 'labcatControllers', ]); wmlabApp.config
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重复需要如下所示
你的人
,你的你的人
和你的项目一样多,因此控制器不可能知道您要提交的是哪一个。@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;
});
}
});
};
}]);