我的模板文件变得越来越大并且过于复杂(大约 200 行(长)代码,9 级缩进),因此它也变得容易出错。我正在寻找一个简单的解决方案,它可以让我轻松访问 $scope
变量和函数。
我的第一个想法是使用 ngInclude
,但正如我所见,如果我想访问变量,它会变得很麻烦。
另一个想法是使用指令,但这似乎也不是一种可行的方法,因为我不想为每个模板添加单独的指令。
我的最后一个想法是编写一个通用指令,它使用其父级 $scope
并可以访问它的函数。这被认为是一个好的做法吗?嵌入可能存在哪些陷阱/缺点?
最佳答案
将你的 Angular 编写为小代码模块
这些模块可能应该是特定于页面的。看看我整理的这个简单模板,以保持所有 Angular 代码的可读性和功能性。 here是 github 存储库的链接。
文件结构
在应用程序中,您有 2 个核心模块,其中一个将所有模块组合在一起“module.js”
还有一个控制你的路线的“routes.js”
还有一个组件部分,其中包含每个页面分隔关注点的单独模块。我们有一个用于模块本身和 Controller 的文件,以及一个用于工厂和服务的单独文件。
通过像这样构建您的应用程序,您可以构建小插件组件并阻止它们变得巨大且难以阅读的困惑。
补充阅读
我关注this Angular 应用程序结构指南,文章中提出的观点非常好,并且始终保持我的代码干净。
关于javascript - 模块化 Angular 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34674994/