我有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.'
}
];
});
}
});
});
但代码不能正常工作。当我调试这段代码时,我看到它没有进入体内控制器。我无法理解为什么?
答案 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)显示部分视图的渲染内容。它发生在服务器端,而不是浏览器中。