什么时候应该在vue.js中使用指令而不是组件?我正在从Bootstrap中实现一些功能,而且看起来无论哪种方式都可以(我从下拉菜单开始)。
我感觉到指令更适合于在单个元素上操纵dom,而组件则用于封装一堆数据和/或dom操纵。这是查看它的好方法吗?
什么时候应该在vue.js中使用指令而不是组件?我正在从Bootstrap中实现一些功能,而且看起来无论哪种方式都可以(我从下拉菜单开始)。
我感觉到指令更适合于在单个元素上操纵dom,而组件则用于封装一堆数据和/或dom操纵。这是查看它的好方法吗?
我认为可以通过两个示例更好地解释这种差异。
组件:最适合当您需要在某些东西上插入(或添加)自己的HTML标签以进行渲染时使用的包装器。例如,需要在其中添加一些HTML标记以正确显示它的小部件,自定义按钮等。
指令:不添加标记,而是直接访问HTML标记(已在其中添加了指令)。这使您可以直接修改HTML元素的属性。例如,初始化工具提示,设置CSS样式,绑定到事件等。
我是这样想的:
组件定义了小部件-这些是html的各个部分,这些小部件具有与之关联的行为。
指令可修改html部分(可能是也可能不是小部件)的行为。
可重用性是使用指令的原因,
虽然组件也正在创建可重用的“小部件”,但是同一html系统中的两个组件将覆盖先前的“数据”。因此,在这种情况下考虑一下指令。
值得考虑的另一点是-用户仅在遵循一些说明后才能通过HTML使用它吗?