如何将属性复制到内部元素

Pau*_*aul 9 angularjs angularjs-directive

我正在为AngularJS编写一个非常简单的指令,该指令应该转换为:

<input type="text" name="FirstName" mydirectivename />
Run Code Online (Sandbox Code Playgroud)

进入这样的事情:

<span><input type="text" name="FirstName" /></span>
Run Code Online (Sandbox Code Playgroud)

到达这里很容易:

<span type="text" name="FirstName"><input/><span>
Run Code Online (Sandbox Code Playgroud)

但是现在我在编写一个编译功能的杂草中做了文档说"你应该很少需要做的事情"而且我认为我偏离了轨道.是否有一种简单的方法来指示模板中的特定元素应该是复制属性的目标?

谢谢

And*_*ger 0

对于这里的简单示例,您可以使用如下内容:http://plnkr.co/edit/BbwBLa ?p=preview

plunker 将嵌入原始元素并将其重新插入包装元素内。

或者,您可以按照其他答案并指定要复制的所有内容,以进行更多控制。

如果您需要复制所有属性并且您有足够新的角度版本(1.1.4 以后,请查看文档http://code.angularjs.org/1.1.4/docs/guide/directive),那么您可以尝试模板链接中描述的功能。这些被赋予了原始元素的所有属性,并且可以使用它们来编写具有原始属性的新模板。我不建议以这种方式使用模板函数,因为它对我来说有点过于繁琐。

编辑

这在简单的示例中非常简单地在链接函数中实现了您想要的功能。我认为这真的应该进入编译,但是当我把它放在那里时,plunker 就疯了。http://plnkr.co/edit/PLfSU6?p=preview