将指令指定为另一个指令的参数(插件)

时间:2017-12-15 13:46:08

标签: angular angularjs-directive angular-directive

我有一个"主持人"指令,我想在其中显示 a"插件"指令多个可能的"插件中的一个"指令(比如,plugin1,plugin2,plugin3等),我希望host指令的容器指定或更改要作为参数显示的插件指令。

这可以在没有"主机"指令知道任何关于 it 它正在显示哪个指令?在某种程度上,它就像ui-router,我们保留子视图占位符,并动态提供视图。但我希望这种灵活性具有指令。

例如:

<div>
  <host plugin="plugin1 plugin1-param-1 plugin1-param-2"></host>
</div> 
<div>
  <host plugin="plugin2 plugin2-param-1 plugin2-param-2"></host>
</div> 

2 个答案:

答案 0 :(得分:0)

是。您可以将host指令注入plugin指令。

为了便于配置,您可以将输入命名为与指令的属性名称完全相同。

HostCmp

您现在可以通过this.host访问this.config个实例,配置将在host[plugin]

您可以使用 import {Provider, connect} from "react-redux"; return (<Provider store={store}> <AppNavigation/> </Provider>); 作为选择器,进一步根据选择器将插件的使用范围缩小到特定主机。

答案 1 :(得分:0)

我来自Java / .Net背景,因此我希望应用运行时“即插即用”模式。我认为翻译是我上述问题的答案。这是一个有用的链接: http://teropa.info/blog/2015/06/09/transclusion.html