我正在 AngularJS 中构建一个应用程序,用户在其中创建一些应用程序状态,然后有许多不同的方式来呈现它。(举个蹩脚的例子,假设他们要输入三个数字,然后他们可以选择将它们呈现为折线图或饼图。)
每种渲染类型都存在于不同的 HTML 文件中,我让用户选择一个带有 <select> 的渲染器,该渲染器驱动 ng-include 的 src 以加载不同的渲染器。到目前为止,这工作正常。
现在,一些渲染模式有额外的控制;例如,饼图可能有一个“3D”复选框。不同的渲染器将具有完全不同的控件。所以我希望这些包含的文件也可以创建用于自定义其演示文稿的控件。
这是我的问题:如何加载单个文件并让它在 DOM 中的一个位置创建附加控件,同时将其主要内容放入 DOM 中的另一个位置?附加控件不能与 DOM 中呈现的内容相邻出现:它位于完全不同的位置。
这是一个示例:http ://plnkr.co/edit/1RXVVu?p=preview 。我希望在 a.html 和 b.html 中,能够在 <hr> 上方的 DOM 中实例化它们的弹出控件,同时将它们的文本内容放在 <hr> 下方。(虽然在示例中可以只在 a.html 和 b.html 中分别放置一个 hr 标记,但真正的 DOM 结构要复杂得多,而且无法承受。)
谢谢!