一般来说,问题是:如何在AngularJS中使用DOM选择器?
更深入:指定DOM元素的推荐方法是什么,应该在哪些操作中完成?让我们说,我有一个插件或组件可以做一些神奇的事情(动画,执行流程,嵌入某些内容等)和我需要决定它在运行时会发生什么?
我会将它与Backbone进行比较。 Angular更具说明性,而Backbone则势在必行。在Backbone中有jQuery(或者替代),每个Backbone.View都有el.$
,这是一个jQuery选择器引擎,不是绑定到全局DOM,而是绑定到View的子DOM树。这样更快(不需要全局搜索元素),更易于维护(在View之外找不到任何DOM元素)并且方便。我可以在运行时传递选择器,例如#id
或.class
。并手动执行或打开某些内容,因为 Backbone是势在必行。
现在如何角度?假设我想开始一个庞大而复杂的用户界面流程:它包含少量几种形式和少量视图,一步一步向前导航,最终以结束视图结束(工作成功或类似)。完成一个视图后,重新加载(overlay / spinner)并加载另一个视图。我想将它嵌入到指定的DOM元素中,但我想在运行时定义它,而不是将其嵌入为angular属性。这如何符合角度哲学?