angular指令中的属性可以去掉吗?

angular中定义了一个hello的指令:
<hello name="name" option="model.option"/>
对应的template大概是<div>..</div>。

最后生成的dom是<div name="name" option="model.option">...</div>

属性依然保留了,我想问,能不能把这些属性 name="name" option="model.option" 去除掉?

阅读 3.5k
2 个回答

就<hello name="name" option="model.option" />来说,这些属性要看你指令逻辑里是怎么写的才行,如果逻辑里面有用到这两个属性,那就不能去掉。这两个属性类似于指令的数据接口,外部数据有接口进入,在指令内部进行逻辑处理。如果你指令里边就定义了一个<div>Hello world</div>, 那你外边的所有属性都可以去掉了,只留<hello/>就行。

你可以在指令配置中replace,这样就会直接用指令模板替换使用指令的元素。但是你这里的属性估计对指令有用处的。

推荐问题