Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在AngularJS应用程序中形成适当的结构_Javascript_Angularjs_Structure - Fatal编程技术网

Javascript 在AngularJS应用程序中形成适当的结构

Javascript 在AngularJS应用程序中形成适当的结构,javascript,angularjs,structure,Javascript,Angularjs,Structure,假设我的数据库中有10个模型(表),我想基于该数据库构建一个AngularJS应用程序。我这里的问题是,在形成应用程序的AngularJS结构时,最佳实践是什么 我是否应该在应用程序中声明1个模块,并将该模块用于我的所有服务和控制器 当我有以下场景:学生模型和教师模型。。。我是否应该为学生和教师创建单独的controller.js文件,是否应该为学生和教师创建单独的service.js文件??或者所有服务都可以保存在一个JS文件中?有人能帮我弄清楚吗?我真的很想听听那些对AngularJS应用程

假设我的数据库中有10个模型(表),我想基于该数据库构建一个AngularJS应用程序。我这里的问题是,在形成应用程序的AngularJS结构时,最佳实践是什么

我是否应该在应用程序中声明1个模块,并将该模块用于我的所有服务和控制器

当我有以下场景:学生模型和教师模型。。。我是否应该为学生和教师创建单独的controller.js文件,是否应该为学生和教师创建单独的service.js文件??或者所有服务都可以保存在一个JS文件中?有人能帮我弄清楚吗?我真的很想听听那些对AngularJS应用程序有“现场”经验的人的意见


谢谢你

以下只是我的观点,但对我来说效果不错

每个后端控制器可以有一个服务,至少我喜欢这样映射它。例如,如果您有一组restful端点来操作教师表,那么您可以在Angular中有一个
Teacher
服务来执行这些restful操作。然后,您还可以拥有一个单独的
Student
服务,该服务可以对数据库的学生执行restful操作

至于控制器,则视情况而定。如果使用路由,最好的选择是每条路由使用一个控制器。在任何情况下,控制器更像是视图的容器,它们不表示数据。话虽如此,如果你打算围绕数据构建Angular应用程序,你可以有这样的东西(至少这是我喜欢构建Angular应用程序的方式):

在路线中,您可以将listTeachersController与views/teachers/index.html中的模板连接起来,showTeacherController与views/teachers/show.html等连接起来。对学生来说也是如此

但这要视情况而定。您的前端可能不会遵循严格的restful风格,也可能不应该。我喜欢有一个控制器页面,但随着页面变得越来越复杂,可能是时候将其分解为继承自页面控制器的子控制器了

最后,对于模块,除非你的应用程序很大,否则我只会为整个应用程序使用一个模块。它使事情变得简单


把这个和盐一起吃。这只是我的观点,可能对您有效,也可能无效,这取决于您试图构建的内容。

使用生成器帮助您组织应用程序。有很多,所以你可能不得不尝试一些,直到你找到一个你喜欢的。我喜欢这一条:

当涉及到“仅我的意见”时,您现在应该知道您的代表提出的问题是离题的,应该做正确的事情,并为此投票结束。非常感谢您的精彩回答!这正是我需要的信息!:)@珀克斯456击掌!顺便问一下,你有多少年的工作经验我在6-7天前就开始熟悉Angular了,我不得不说,我对迄今为止所看到的一切感到惊讶。另外,你们有一些有用的链接,我可以在这里扩展我对角度的知识吗?:)我已经做了大约1.5年了。这本指南从一开始就帮了我不少忙:打得好。这种方法对我来说也很有效。按功能分组而不是按组件类型分组更具可伸缩性
-- app.js
-- /services
  -- teacher.js
  -- student.js
-- /controllers
  -- /teachers
    -- listTeachersController.js
    -- showTeacherController.js
    -- editTeacherController.js
  -- /students
    -- listStudentsController.js
    -- showStudentController.js
    -- editStudentController.js
-- /views
  -- /teachers
    -- index.html
    -- show.html
    -- edit.html
  -- /students
    -- index.html
    -- show.html
    -- edit.html
-- /directives
  ...
-- /interceptors
  ...
-- /filters