Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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/23.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 何时使用ng include vs custom指令_Javascript_Angularjs_Angularjs Directive_Angularjs Ng Include - Fatal编程技术网

Javascript 何时使用ng include vs custom指令

Javascript 何时使用ng include vs custom指令,javascript,angularjs,angularjs-directive,angularjs-ng-include,Javascript,Angularjs,Angularjs Directive,Angularjs Ng Include,我和我的同事就这个问题发生了争执,我想知道其他angular开发人员对angular js中使用自定义指令的看法。我个人更喜欢使用自定义指令,而不是使用具有多个ng包含的单个控制器,原因如下 创建关注点分离,因为每个组件都被划分为其逻辑块,而在将多个ng Include与单个父控制器一起使用时,所有逻辑都驻留在单个文件中 易于维护,因为每个组件的逻辑都驻留在指令中,所以代码导航更容易 使单元测试变得容易。一旦对指令的逻辑进行单元测试,就不必在使用指令的其他区域重新测试相同的逻辑。所以从长远来看,

我和我的同事就这个问题发生了争执,我想知道其他angular开发人员对angular js中使用自定义指令的看法。我个人更喜欢使用自定义指令,而不是使用具有多个ng包含的单个控制器,原因如下

  • 创建关注点分离,因为每个组件都被划分为其逻辑块,而在将多个ng Include与单个父控制器一起使用时,所有逻辑都驻留在单个文件中
  • 易于维护,因为每个组件的逻辑都驻留在指令中,所以代码导航更容易
  • 使单元测试变得容易。一旦对指令的逻辑进行单元测试,就不必在使用指令的其他区域重新测试相同的逻辑。所以从长远来看,可以节省开发时间
  • 可重用组件

  • 对于我来说,使用自定义指令的主要卖点是因为可重用性、关注点分离和不重复自己的概念。同样在开发方面,使用自定义指令构建应用程序所需的时间与使用多个ng Include和单个控制器构建应用程序所需的时间大致相同。因此,如果我们可以得到一个可重用的组件,具有更好可读性的代码,在相同的时间内更容易维护和测试,那么为什么不使用自定义指令呢

    班纳克包括了这段时间。这是没有必要的,大多数对组件化感兴趣的开发人员都会同意这种观点。忘记ng include甚至存在,除非你必须(像递归模板一样)。有点不推荐,但仍然(angular docs中的示例)有效,并且如果你只有几个模板,这是最简单的方法。指令在ng repeat中执行得更好