繁体   English   中英

在Angularjs中创建不同类型的新元素的最佳实践是什么?

[英]What are the best practices for creating new elements of different type in Angularjs?

我有一个不同类型的元素列表。 每个都有一个切换按钮,以切换其可见性。 现在有两种隐藏元素的方法,既可以将元素与DOM分离,也可以将可见性设置为hidden。

据我了解,Angular仍会更新隐藏的元素,因此这可能会影响性能。 这是真的? 使用jQuery可以将元素与DOM分离,然后在需要可见时再次附加它。 但是,这种方法在Angular中甚至是一种好的做法吗?

通过阅读Angular文档及其API,我给人的印象是Angular更喜欢在开始时声明所有模板/ HTML,并使用控制器动态更改其内容。 因此,如果要添加/删除元素,可以使用ng-repeat指令,然后通过从范围中的数组中删除元素,可以从模板中添加/删除元素。 这对于相同类型的基本元素很好。 但是,如果您具有不同类型的元素列表,这将如何工作?

编辑:

http://jsfiddle.net/k26bA

这里的一个示例是可以通过复选框使用的工具列表。 在示例中,第一种方法具有无法动态更改的静态元素列表。 这意味着您需要事先知道哪些工具可用。

第二种方法是在控制器中添加和删除工具的列表,并在模板中使用ng-repeat遍历该列表并创建工具。 但是,我被困在这里,因为工具可以是按钮,文本字段,复选框甚至是复杂的div。

我发现在这里model first要建立model first有些困难,因为这只是隐藏和显示可用控件的一部分,而不是显示域模型。

我在想的一个很好的例子就是Google Maps,您可以在其中隐藏或最小化地图上的各种控件。

您可能需要熟悉ng-switch指令 在一个非活动项ng-switch被完全从DOM脱钩,而不是一个ng-hideng-show ,其简单地设置CSS样式来显示或隐藏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM