我有一个问题,我最近发现自己很着迷,看,我现在非常需要你告诉我解决问题的方法。
我的业务任务是创建一个帖子列表,其中包含对每个帖子的评论。每个帖子都有 3 种状态:查看、编辑和删除。
我创建了指令Post和Comment。我还创建了PostList和CommentList指令来管理帖子和评论。帖子和评论是相似的代码: http ://plnkr.co/edit/k77kdSwPnqY4jR5EY7N4?p=preview
app.directive("Post", function ($templateCache, $compile) {
function getTemplate(mode) {
switch (mode) {
case "create":
return "createPost.html";
case "view":
return "viewPost.html";
case "delete":
return "deletePost.html";
}
}
var defaultMode = "view";
return {
scope: {},
restrict: "AE",
compile: function (elem, attrs, transclude) {
return function ($scope, $element, $attr) {
function updateTemplate() {
$element.html("");
$compile($templateCache.get(getTemplate($scope.mode)).trim())($scope, function (clonedElement, scope) {
clonedElement.appendTo($element);
});
}
$scope.mode = $attr.mode || defaultMode;
$scope.$watch("mode", updateTemplate);
}
}
}
})
每个模板(例如viewPost.html)都有很多绑定和指令,例如ng-show、ng-src、ng-bind-html-unsafe。viewPost.html包含 commentList 指令,负责显示评论列表。当我编译一篇文章时,这篇文章的每条评论的编译都会自动启动。
这是指令树:
当我想呈现一个包含 20 个帖子的列表时,每个帖子都有几条评论,我在工作完成之前等待超过一秒钟。在此期间网页没有响应。
我组织这种结构的方式是否正确?Angular 是否适合这项业务任务?
我确实喜欢 Angular,但现在我感到不安,我担心 Angular 不是完成这项任务的好选择。
请帮助我找回对 Angular 的希望和真正的热爱。告诉我我做错了什么。
这是我的项目,我真的希望你看看:http: //vokruge.com/signin
登录:anton.v.rodin@gmail.com
通行证:123456
请注意,这都是俄语。您可以访问此页面以查看它现在有多慢:http: //vokruge.com/feed/280。