vue3全局代码片段

{
	"vue3": {
	  "prefix": "vue3-ts",
	 "body": [
		"<template>",
		"<div class=\"$1\">$3</div>",
		"</template>",
		"",
		"<script lang=\"ts\">",
		"import { ",
		"  defineComponent, ",
		"  getCurrentInstance, ",
		"  reactive, ",
		"  ref ",
		"} from 'vue';",
		"",
		"",
		"",
		"export default defineComponent({",
		"  name: '$2',",
		"  // 注册你的组件",
		"  components:{  },",
		"  props: {",
		"",
		"  },",
		"  ",
		"  // 定义一个组件的 emitted 事件,当在 emits 选项中定义了原生事件 (如 click) 时,将使用组件中的事件替代原生事件侦听器。",
		"  emits: {",
		"    click: (evt: MouseEvent) => evt instanceof MouseEvent,",
		"  },",
		"  setup(props, {attrs, slots, emit, expose }){",
		"    const { proxy } = (getCurrentInstance() as any);       // 全局变量代理,用于使用 app.config.globalProperties.xxx 挂载的参数,也可以不用断言用`.?`",
		"    let datas = (props as any).datas;                      // 父组件数据",
		"",
		"    return {",
		"      proxy,",
		"      attrs,    // Attribute (非响应式对象,等同于 $attrs),有状态,会随组件本身的更新而更新",
		"      slots,",
		"      emit,     // 触发事件 (方法,等同于 $emit)",
		"      expose,   // 暴露公共 property (函数)",
		"    }",
		"  },",
		"  ",
		"",
		"  methods:{",
		"  ",
		"  }",
		"});",
		"</script>",
		"",
		"<style lang=\"less\" scoped></style>"
	  ],
	  "description": "Generate a component template of the vue3+typescript project."
	}
  }
  

简单版

{
	"vue3": {
	  "prefix": "vue3-ts",
	 "body": [
		"<template>",
		"<div class=\"$1\">$3</div>",
		"</template>",
		"",
		"<script>",
		"import { ",
		"  defineComponent, ",
		"  getCurrentInstance, ",
		"  reactive, ",
		"  ref ",
		"} from 'vue';",
		"",
		"",
		"",
		"export default defineComponent({",
		"  name: '$2',",
		"  // 注册你的组件",
		"  components:{  },",
		"  props: {",
		"",
		"  },",
		"  ",
		"  emits: [",
		"  ],",
		"  setup(props, {attrs, slots, emit, expose }){",
		"",
		"    return {",
		"      attrs,    // Attribute (非响应式对象,等同于 $attrs),有状态,会随组件本身的更新而更新",
		"      slots,",
		"      emit,     // 触发事件 (方法,等同于 $emit)",
		"      expose,   // 暴露公共 property (函数)",
		"    }",
		"  },",
		"  ",
		"",
		"  methods:{",
		"  ",
		"  }",
		"});",
		"</script>",
		"",
		"<style lang=\"sass\" scoped></style>"
	  ],
	  "description": "Generate a component template of the vue3+typescript project."
	}
  }
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值