Ala*_*an2 13 javascript angularjs angularjs-directive
我有12个网页,每个网页都有一组7-10个按钮.按钮后面和周围的代码是6-7行HTML.
为了简化编码,我在每个指令中使用简单的内联模板将这些指令作为指令.
页面打开时是否有很多开销,它必须将我的所有元素转换为指令?
这样做的流程是什么?它会降低页面的渲染速度吗?
我正在做什么,对指令来说这是一个好习惯还是有更好的方法可以做到?
1)是的,有开销:在Angular的摘要周期期间,指令被渲染到Markup中.一旦框架加载,第一个循环将运行.加载的开销可能很大.第一个摘要周期将快速运行.
关于多少开销的答案取决于您是否打算在任何页面上使用AngularJS.如果无论如何都要加载libararies和框架,那么开销很小.加载lib并启动框架通常会在页面完全呈现之前略微停顿.
另一方面,如果您的页面已经使用了AngularJS框架,那么没有模型属性的HTML指令的开销很小.当您有许多绑定模型属性时会发生大量开销.然后,框架必须观察您的模型属性,并在每次更改时运行摘要周期
2)这是个好主意吗?是.没有.的种类.这取决于.您是否已经在页面中使用AngularJS(重复出现的主题)?如果是,那么这是非常好的做法.您可以在低成本的情况下进行多级封装,并鼓励您自由地进行封装.
如果您已经在使用Angular并且"持久"了摘要周期,那么封装一些可重复使用的HTML,成本很低.在摘要循环的第一轮中,框架用渲染标记替换指令.有一点成本(最小),但所有代码重用都有成本.在这种情况下,它将是最小的.
3)如果您想在不使用AngularJS的1个或多个页面上重复使用此代码:在这种情况下,成本可能不值得.这又取决于它.也许如果10页使用Angular而另外2页不使用Angular,您可能仍然喜欢使用AngularJS指令.
但是,如果你的网页都不需要这个框架,或者大多数(12个中的10个)都不需要,你可能最好使用HTML5模板
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |