Javascript 与内嵌式HTML相比,如果使用指令会有很大的开销吗?
我有12个网页,每个网页都有一组7-10个按钮。按钮后面和周围的代码是6-7行HTML 为了简化编码,我在每个指令中使用一个简单的内联模板将这些指令转换成指令 当一个页面打开并且它必须将我的所有元素转换为指令时,会有很多开销吗 另外,进行此操作的流程是什么?它会减慢页面的呈现速度吗Javascript 与内嵌式HTML相比,如果使用指令会有很大的开销吗?,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我有12个网页,每个网页都有一组7-10个按钮。按钮后面和周围的代码是6-7行HTML 为了简化编码,我在每个指令中使用一个简单的内联模板将这些指令转换成指令 当一个页面打开并且它必须将我的所有元素转换为指令时,会有很多开销吗 另外,进行此操作的流程是什么?它会减慢页面的呈现速度吗 那么我正在做的是什么呢?这是指令的一种良好实践还是有更好的方法呢?IMHO,使用6-7行通用html呈现多个小部件应该不会对性能造成太大影响。如果html有嵌套指令等,那将是另一个故事我尝试了一个示例演示,是的,当使
那么我正在做的是什么呢?这是指令的一种良好实践还是有更好的方法呢?IMHO,使用6-7行通用html呈现多个小部件应该不会对性能造成太大影响。如果html有嵌套指令等,那将是另一个故事我尝试了一个示例演示,是的,当使用指令呈现元素时,它确实需要多一点时间(这是显而易见的,因为角度过程将消耗一些时间来将自定义标记呈现为有效的html) 下面是一个使用angular来使用指令渲染元素的演示: 这是另一个使用纯html的 我已经为两个例子呈现了相同数量的元素,以确保我们有一个相同的比较。您可以在控制台上看到所消耗的时间。平均而言,考虑到这两个示例,在渲染时渲染元素的速度要快5-10 ms,而无角度 请注意,我在两个示例中都定义了
app
模块,以保持加载角度模块所需的时间。我通常只在html太长或在您的情况下经常重复时才使用指令。如果时间性能对您来说太关键,并且您确实希望更快地加载元素,我建议使用纯html
更新1上面的例子只有简单的标记,没有什么特别之处。在实际的word场景中,我们可能传递自定义属性并编译元素(使用
$compile
),时差可能会更高
更新2
我遇到了这些指令,它们显示了如何在网页上注入、编译和执行指令。我认为这涵盖了指令如何在Angular中工作的最好资源。正如@I_Debug_Angular Angular Angular所示,对于基本html模板,有一个轻微的惩罚。我认为5-10毫秒是否会对性能产生显著影响 但是,您还需要考虑其他因素,这些因素可能在设置中起作用,也可能不起作用
- 使用指令,您将共享指令模板,因此从服务器接收的数据量小于标准HTML,在标准HTML中,HTML将复制到要显示公共元素集的页面上的每个页面和部分
- 使用指令,您可以使用单个模板对模板进行任何更改,从而提高生产率
- 您可以对指令进行单元测试
- 指令可以使HTML更具可读性
- Web组件是标准的发展方向。Angular 2.X本应支持这一点李>
但是如果您的页面都不需要框架,或者大多数(12个页面中的10个页面)不需要框架,那么您最好使用“按钮背后和周围的代码是6-7行HTML”-它们是什么类型的按钮?对于按钮而言,html似乎太多:)