Vue中的directive(指令)是一種特殊的HTML標簽屬性,用于給HTML元素添加一些特殊的行為。其中一個常用的指令是focus,它可以使HTML元素在渲染后立即聚焦。
Vue.directive('focus', { inserted: function (el) { el.focus() } })
以上代碼定義了一個名為“focus”的自定義指令,它被插入到HTML元素后(如v-focus),會立即聚焦該元素。通常情況下,我們需要手動調用DOM API(document.querySelector('#element').focus()),或使用jQuery/Zepto等工具來實現設置聚焦的操作。但通過使用Vue的指令,我們可以避免手動操作DOM,使代碼更加清晰和簡潔。
使用該指令也非常簡單,只需要在HTML元素中添加v-focus即可:
這將確保該輸入框在渲染后立即聚焦,而不需要手動操作。需要注意的是,該指令只對可聚焦的元素(如,