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.4k
2 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题