【发布时间】:2016-04-13 00:21:17
【问题描述】:
我的模板文件变得越来越大而且过于复杂(大约 200 行(长)代码,9 级缩进),因此它也变得容易出错。我正在寻找一个简单的解决方案,它允许我访问$scope 变量和函数而不会太头疼。
我的第一个想法是使用ngInclude,但我发现如果我想访问变量,它会变得很麻烦。
另一个想法是使用指令,但这似乎也不是一种方法,因为我不想为每个模板添加单独的指令。
我的最后一个想法是编写一个通用指令,它使用其父级$scope 并可以访问它的功能。这被认为是一种好习惯吗?嵌入的可能陷阱/缺点是什么?
【问题讨论】:
-
我制作了一些“模板” html 文件,这些文件可以大量访问 $scope 变量,并将它们与 ng-include 一起使用没有问题。当你说“如果我想访问变量会变得很麻烦”时,你会遇到什么问题?
-
我的意思是我在看这个答案,但没有明确的答案:stackoverflow.com/questions/25678560/…
-
这里的所有答案都同样好——您真正应该避免的一件事是访问父
$scope属性。尝试根据具有最少依赖性的功能分离模块/指令/控制器。如果某些控制器/指令需要一些信息才能运行,请通过依赖注入或指令参数传递它。
标签: javascript angularjs angularjs-directive angularjs-scope