Javascript $http和$scope变量未显示在模板中

Javascript $http和$scope变量未显示在模板中,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,变量$scope.discussionId未显示在我的模板中。所有其他值都将显示 我做错了什么 编辑(完整代码) 控制器 soundshareApp.controller('CommentController', function($scope, $http) { $scope.data = { comments : [] } $scope.state = {} $scope.project = { id : [] } $scope.discussionId;

变量
$scope.discussionId
未显示在我的模板中。所有其他值都将显示

我做错了什么

编辑(完整代码)

控制器

soundshareApp.controller('CommentController', function($scope, $http) {

    $scope.data = { comments : [] }
    $scope.state = {}
    $scope.project = { id : [] }
    $scope.discussionId;
    $scope.test = "Hello World !";


    $scope.loadComments = function(userName, urlName){
        $http({
            url: '/comment/by_project_id',
            method: "GET",
            params:
            {
                username: userName,
                urlname: urlName
            }
        }).success(function(data) {
            $scope.discussionId = data[0].discussionId;
            console.log("discussionId " + $scope.discussionId);//display the value !!
            $scope.data.comments = data;
        });;
    }
}
模板

<div ng-controller="CommentController" >
    <div class='message-content' ng-click="state.show = !state.show">
        <img class='message-vignette' ng-src='{{commentData.avatarUrl}}'/>
        <div class='message-username'>{{commentData.username}}</div>
        <div class='project-message'> {{commentData.comment}}</div>
        <div class='message-date'>{{commentData.dateCreated | date:'MM/dd/yyyy @ h:mma' }}</div>
    </div>

    <div  class="answer-message-content show-hide" ng-show="state.show" >
        <img class='message-vignette answer-message-vignette' ng-src='{{commentData.currentUserAvatarUrl}}'>
        <div class="add-comment-content">
            <form ng-submit="addComment(commentData)"   id="commentForm-{{commentData.projectId}}">
                <input id="input-comment-{{commentData.projectId}}" type="text" maxlength="255" name="comment" placeholder="Write a comment..." ng-model="commentData.msg">
                <input type="hidden" name="discussionId" value="{{commentData.discussionId}}" >
                <input type="hidden" name="projectId" value="{{commentData.projectId}}" >
            </form>
        </div>
    </div>
    test :  {{test}}// showing "Hello World!"
    discussionId: {{discussionId}}//not  showing !!
    <div ng-repeat="answer in answers" class="answer-message-content">
        <div class='message-content' ng-click="state.show = !state.show">
            <img class='message-vignette' ng-src='{{answer.avatarUrl}}'/>
            <div class='message-username'>{{answer.username}}</div>
            <div class='project-message'> {{answer.comment}}</div>
            <div class='message-date'>{{answer.dateCreated | date:'MM/dd/yyyy @ h:mma' }}</div>
        </div>
    </div>
</div>

谢谢

我没有看到
$scope.loadComments
被调用过<代码>$scope.discussionId未定义。如果您初始化它,我打赌它会显示该值,类似于:

$scope.discussionId = 10;

你调用$scope.loadComments了吗?你能显示你的整个模板代码吗?是的!除了
discussionId
什么是数据[0],所有数据都在显示。discussionId返回为?JSFIDLE将帮助我们调试。
数据
是一个JSON对象。正如我所说,
console.log($scope.discussionId)
正在显示该值。小提琴会很难,因为它是一个Ajax请求。loadComments在另一个页面上调用,然后我使用指令来显示我的模板,正如我所说的
console.log($scope.discussionId)
显示值。它位于
success
功能中。所有其他值都正确显示。您再次丢失了该点。。。请考虑一下“您的控制器正在初始化$scope.discussionId未定义”。我已将其删除,然后我该怎么办?是的“我的控制器正在初始化$scope.discussionId未定义”,然后我在
loadComments success
函数
$scope.discussionId=data[0].discussionId
同时
console.log($scope.discussionId)
正在控制台中显示正确的值。
soundshareApp.directive('sdcomment', function(){
    return {
        restrict:'A',
        scope: {
            commentData: '=param'
        },
        templateUrl: '/js/views/comment/templates/commentList.html',

        link : function(scope, elem, attrs) {

        }
    }

});
$scope.discussionId = 10;