Skip to content

Conversation

@liuseen-l
Copy link
Contributor

@liuseen-l liuseen-l commented Mar 13, 2024

define custom directives will get friendly type hints

// before
<script setup>
      const vTest = defineDirective({ created(){} })
 </script>
// after 
export default {
      setup(__props, { expose: __expose }) {
        __expose();
       const vTest = { created(){} }
       return { vTest }
    }
}

When writing custom directives in a vue file, there is no type hint, so this new micro is added to solve this problem
image

@github-actions
Copy link

Size Report

Bundles

File Size Gzip Brotli
runtime-dom.global.prod.js 90.5 kB 34.4 kB 31 kB
vue.global.prod.js 148 kB 53.7 kB 47.9 kB

Usages

Name Size Gzip Brotli
createApp 50.8 kB 19.8 kB 18.1 kB
createSSRApp 54.1 kB 21.2 kB 19.3 kB
defineCustomElement 53 kB 20.6 kB 18.8 kB
overall 64.4 kB 24.9 kB 22.6 kB

@liuseen-l liuseen-l changed the title feat: defineDirective feat(compiler-sfc): defineDirective Mar 13, 2024
@sqal
Copy link
Contributor

sqal commented Mar 13, 2024

What's wrong with using Directive type?

import { type Directive } from 'vue'

const vFocus: Directive<HTMLInputElement> = {
  mounted(el) {
    el.focus()
  }
}

@baiwusanyu-c baiwusanyu-c requested a review from sxzz March 14, 2024 01:07
@liuseen-l liuseen-l closed this Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants