AngularJS控制器无法正常工作

时间:2014-07-14 14:26:32

标签: javascript asp.net-mvc angularjs

我有AngularJS v1.2.19。我尝试在我的项目中使用

在body标签中我写了

<body ng-app="commentApp">

在调用控制器的页面中我使用

<div ng-controller="CommentLstCtrl">
    @{ Html.RenderPartial("Partial/CommentList", @Url.Action("Comments", "News")); }
    @{ Html.RenderPartial("Partial/CommentForm"); }
</div>

在js文件中我写了

$(document).ready(function () {
    var url = $("#comments").attr("data-source");
    var id = $(".news-post").attr("data-id");
    var app = angular.module('commentApp', []);

    $.ajax({
        url: url,
        data: { newsId: id },
        type: "POST",
        dataType: "json",
        success: function (data) {


            app.controller("CommentLstCtrl", function ($scope) {
                $scope.comments = [
                    {
                        'text': 'Fast just got faster with Nexus S.'
                    },
                    {
                        'text': 'The Next, Next Generation tablet.'
                    },
                    {
                        'text': 'The Next, Next Generation tablet.'
                    }
                ];
            });
        }
    });
});

但代码不能正常工作。当我调试这段代码时,我看到它没有进入体内控制器。我无法理解为什么?

1 个答案:

答案 0 :(得分:1)

1)移动

app.controller("CommentLstCtrl", function ($scope) {
            $scope.comments = [
                { 'text': 'Fast just got faster with Nexus S.' },
                { 'text': 'The Next, Next Generation tablet.'  },
                {  'text': 'The Next, Next Generation tablet.' }
            ];
});
在ajax电话之外

2)一旦ajax调用成功,使用angular.bootstrap(document.querySelector('body'), ['commentApp'])启动应用程序

3)显示部分视图的渲染内容。它发生在服务器端,而不是浏览器中。