我有以下表单,我通过 ng-view
将其包含在主应用中表单小组
<form action = "#" method="post" class="form-horizontal" id="commentForm" role="form">
<div class="form-group">
<div class="col-sm-10">
<textarea class="form-control" type="text" ng-model="userComment" placeholder="New Discussion Topic" rows="5"></textarea>
</div>
</div>
<div class="form-group" id="div_submitComment">
<div class="col-sm-offset-2 col-sm-10">
<button class="btn" type="button" id="submitComment" ng-click="vm.addComment()">Submit comment</button>
</div>
</div>
</form>
单击提交按钮后,将调用控制器功能。在控制器功能中,我无法访问变量 $ scope.userComment
控制器代码段
(function () {
'use strict';
angular
.module('app')
.controller('DiscussionBoardController', DiscussionBoardController);
DiscussionBoardController.$inject = ['UserService', '$rootScope', '$scope', '$cookieStore', 'AuthenticationService'];
function DiscussionBoardController(UserService, $rootScope, $scope, $cookieStore, AuthenticationService) {
function addComment() {
$.getJSON(
"http://localhost/DBoardPage/server/discussion-board/postComment.php", // The server URL
{ userName: $scope.currentUser , userComment:$scope.userComment , commentID:0 }, // Data you want to pass to the server.
$scope.addCommentResponse // The function to call on completion.
);
};
/*End - Discussion Board related Functions*/
}
})();
虽然我知道在使用ng-include,ng-view和ng-repeat时会创建一个子范围,但我没有举例解释其用法。
请让我知道如何解决这个问题
答案 0 :(得分:0)
你确定它不是$ scope.currentUser不存在吗?您正在使用未声明的变量。
尝试添加:
$ scope.currentUser =“”; $ scope.userComment =“”;
由于您使用的是AngularJS,因此以Angular方式创建函数可能更好。
$ scope.addComment = function(){....
如果仍无法正常显示您的设置。