何时何地在 angularjs 中使用多个 controllers/directives/services/factories?

When and where to use multiple controllers/directives/services/factories in angularjs?

我是 angularJs 的新手。我理解了一些概念,但仍然有很多东西不是 clear.I 我正在寻求你的帮助来理解我在 [=17= 中的以下场景] 一些演示 以便清楚理解。

  1. 什么时候应该使用多个Directive/Controllers/Factories/Services等
  2. 我是否应该使用多个指令或多个控制器。
  3. 同样,我是否应该寻求多个工厂或多个指令……或多个控制器。

感谢任何帮助。 谢谢

我会给你一个非常简单的说明你可以用它们做什么。

控制器用于处理与特定视图相关的操作。如果您在同一标记中有 Students AreaTeachers Area 并且在他们自己的区域中运行,您可能应该使用两个控制器来管理它们.

controller('students', function($scope) {

   //Load all students
   $scope.allStudents = getAllStudents()

   //Setup preferences
   $scope.showAll = false;
});

工厂和服务是将代码分解为不同部分的好方法。假设您有很多 Student ProfilesStudent Scores 函数。你可以有两个工厂来更好地组织它们。

studentProfiles.registerStudent(name, class);
studentProfiles.assignClass(id, class);

studentScores.getAllScores(id);
studentScores.saveScores('science', 97);

当你需要操纵时,你应该寻求指令DOM。 Angular 指令很复杂,而且视野非常开阔。你可以用这些做的事情太多了。假设您需要在显示他们姓名的视图中附加每个学生的图像。

<div student-name id="255">

directive('studentName', function(studentProfiles){
   link: function(ele, attr) {
       //This line is for pseudo meaning only
      ele.append('<img src="' + studentProfiles.getStudentPicture(attr.id) + ">');
   }
})

互联网上有大量初学者指南。关注他们并花时间做自己的实践项目。

你所有的问题都差不多,即是将所有代码放在一个地方还是多个地方。我想说的是,在几乎每个应用程序中,您都应该有许多控制器、工厂、服务或指令(如果使用的话)。为什么?

主要是让代码更易读。例如,对于一个简单的购物应用程序,您将有控制器负责用户注册 (RegisterUserCtrl)、显示要购买的商品列表 (ItemsCtrl) 等等。每个看到名称的人 RegisterUserCtrl 都会知道它的作用。

它还使使用代码更容易。一个大controller/factory/service什么都搞定,很快就会有成百上千行代码。并且很难在那里找到任何东西并维护此代码。我也认为模块化代码更容易测试。

我写的所有内容不仅适用于 AngularJS,而且适用于其他技术。