在AngularJS中将指令插入HTML?

Jus*_*cha 5 angularjs angularjs-directive

我对AngularJS很新,并且试图考虑Angular方式.
现在我正在开发一个具有不同功能的应用程序,这些功能在名为的角度服务中注册FeatureRegistry.从那里他们被采取并插入一个侧边栏FeatureSelectionController.通过单击某个功能,startFeature()应该调用相应功能的功能,然后将该功能添加到主视图中(但是应该在哪里进行DOM操作?).

所以有我的问题.向DOM添加指令的最佳方式(角度方式)是什么,我不一定要使用jQuery来执行此操作(并且还希望限制$ compile,$ watch等的使用).

mainView中的指令可以具有隔离的范围,因为这些功能执行彼此独立的操作(它们共享的数据封装在角度服务中).

这是一张图片

插入指令的角度方式是什么?

我总是读到DOM操作应该只在指令中发生,但在文档中以及在其他问题中我没有找到实现它的方法.

And*_*lin 3

这是一个快速演示:http://plnkr.co/edit/eZTtRVTPb7k9kgS8woKh ?p=preview

我不一定认为这里需要指令......除非列表中的功能、最大化功能和最小化功能之间有很多通用功能。

如果这三个列表之间确实有很多通用功能,您可以执行以下操作:

<feature ng-repeat="f in registry.all()" model="f" state="list">
<feature ng-repeat="f in registry.maximized()" model="f" state="open">
<feature ng-repeat="f in registry.minimized()" model="f" state="minimized">
Run Code Online (Sandbox Code Playgroud)

然后在您的指令模板中,您可以拥有常用功能,然后根据使用ng-switch或的状态确定要具有的功能ng-show

您需要帮助编写实际指令吗?