import styles from "./Home.module.less"; import { Component, Ref, Setup, Vue } from 'vue-facing-decorator' import Header from '@/components/Header' import { RouteLocationNormalizedLoaded, Router, useRoute, useRouter } from "vue-router"; import { ElButton, Icons } from "shared/element-plus"; interface ListItemType { id: number title: string } @Component() export default class Home extends Vue { counter: number = 1; @Ref readonly refH1!: HTMLDivElement @Setup((props, ctx) => useRouter()) router!: Router @Setup((props, ctx) => useRoute()) route!: RouteLocationNormalizedLoaded newList: ListItemType[] = [ { id: 1, title: '新闻1' }, { id: 2, title: '新闻2' }, { id: 3, title: '新闻3' }, ] async created() { } async addCount() { // console.log(await nacos-cluster.find('app-product')) // console.log("ref dom: ", this.refH1) // this.router.push({ name: 'about' }) // this.route.query this.counter++ } testHtml() { return

测试html jsx 函数

} render() { return (

首页

element-plus按钮

counter 响应式变量(点我):{ this.counter }

父到子 default 插槽
, // haveName: () =>
父到子 具名 插槽
, // item: (val: ListItemType) =>
  • { val.title }
  • // } } > { { default: () =>
    父到子 default 插槽
    , haveName: () =>
    父到子 具名 插槽
    , item: (val: ListItemType) =>
  • { val.title }
  • } }
    { this.testHtml() }
    ) } }