это мой компонент. el.focus()
работает, когда она вставлена, но я получил [Vue warn]: Property or method "v" is not defined on the instance but referenced during render
на консоли. Как удалить предупреждение?
<script>
export default {
directives: {
focus: {
inserted (el) {
el.focus()
}
}
}
}
</script>
<style lang="stylus" scoped>
input
width: 300px
height: 30px
border: 1px solid #000
</style>
<template lang="jade">
div
input(v-focus)
</template>
Когда вы передаете пустой атрибут jade, насколько я знаю, то, что он интерпретирует в простом HTML, является attribute="attribute"
. Фактическим HTML в вашем случае является v-focus="v-focus"
, который vue интерпретирует как выражение с использованием свойства v
, которое не существует.
Вы можете попробовать input(v-focus="true")
так как на самом деле не имеет значения значение, переданное этой директиве.
input(v-focus="")