何时何地在 angularjs 中使用多个 controllers/directives/services/factories?
When and where to use multiple controllers/directives/services/factories in angularjs?
我是 angularJs
的新手。我理解了一些概念,但仍然有很多东西不是 clear.I 我正在寻求你的帮助来理解我在 [=17= 中的以下场景] 一些演示 以便清楚理解。
- 什么时候应该使用多个Directive/Controllers/Factories/Services等
- 我是否应该使用多个指令或多个控制器。
- 同样,我是否应该寻求多个工厂或多个指令……或多个控制器。
感谢任何帮助。
谢谢
我会给你一个非常简单的说明你可以用它们做什么。
控制器用于处理与特定视图相关的操作。如果您在同一标记中有 Students Area 和 Teachers Area 并且在他们自己的区域中运行,您可能应该使用两个控制器来管理它们.
controller('students', function($scope) {
//Load all students
$scope.allStudents = getAllStudents()
//Setup preferences
$scope.showAll = false;
});
工厂和服务是将代码分解为不同部分的好方法。假设您有很多 Student Profiles 和 Student 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,而且适用于其他技术。
我是 angularJs
的新手。我理解了一些概念,但仍然有很多东西不是 clear.I 我正在寻求你的帮助来理解我在 [=17= 中的以下场景] 一些演示 以便清楚理解。
- 什么时候应该使用多个Directive/Controllers/Factories/Services等
- 我是否应该使用多个指令或多个控制器。
- 同样,我是否应该寻求多个工厂或多个指令……或多个控制器。
感谢任何帮助。 谢谢
我会给你一个非常简单的说明你可以用它们做什么。
控制器用于处理与特定视图相关的操作。如果您在同一标记中有 Students Area 和 Teachers Area 并且在他们自己的区域中运行,您可能应该使用两个控制器来管理它们.
controller('students', function($scope) {
//Load all students
$scope.allStudents = getAllStudents()
//Setup preferences
$scope.showAll = false;
});
工厂和服务是将代码分解为不同部分的好方法。假设您有很多 Student Profiles 和 Student 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,而且适用于其他技术。