修改ts配置

This commit is contained in:
编码猿
2025-09-19 02:32:15 +08:00
parent 4e06a0caed
commit 05bcc3376c
4 changed files with 49 additions and 52 deletions

View File

@@ -1,5 +1,5 @@
import {Component, VueComponent} from 'vue3-oop' import { Component, VueComponent } from 'vue3-oop'
import {RouterLink, RouterView} from "vue-router"; import { RouterLink, RouterView } from "vue-router";
@Component() @Component()
export class App extends VueComponent { export class App extends VueComponent {

View File

@@ -1,6 +1,6 @@
import {Component, ComponentProps, Hook, useProps, VueComponent} from 'vue3-oop' import { Component, ComponentProps, Hook, useProps, VueComponent } from 'vue3-oop'
import {JSX} from "vue/jsx-runtime"; import { JSX } from "vue/jsx-runtime";
import {VNodeChild} from "vue"; import { VNodeChild } from "vue";
interface ListItemType { interface ListItemType {
id: number id: number
@@ -22,8 +22,8 @@ export default class Header extends VueComponent<HeaderProps> {
// required 的 true or false 需要和 类型中 text的? 对应 // required 的 true or false 需要和 类型中 text的? 对应
static defaultProps: ComponentProps<HeaderProps> = { static defaultProps: ComponentProps<HeaderProps> = {
text: {default: '默认数值', required: true}, text: { default: '默认数值', required: true },
list: {default: () => []} list: { default: () => [] }
}; };
@Hook('Mounted') @Hook('Mounted')
@@ -32,16 +32,15 @@ export default class Header extends VueComponent<HeaderProps> {
console.log('Header 组件的 mounted 生命周期...') console.log('Header 组件的 mounted 生命周期...')
} }
render() { render() {
const {text, list} = useProps<HeaderProps>(); const { text, list } = useProps<HeaderProps>();
return ( return (
<div class="header"> <div class="header">
<p>{text}</p> <p>{ text }</p>
{this.context.slots.default?.()} { this.context.slots.default?.() }
{this.context.slots.haveName?.()} { this.context.slots.haveName?.() }
<ul> <ul>
{ {
list.map( list.map(

View File

@@ -1,4 +1,4 @@
import {Autobind, Component, Link, Mut, VueComponent} from 'vue3-oop' import { Autobind, Component, Link, Mut, VueComponent } from 'vue3-oop'
import Header from '@/components/Header' import Header from '@/components/Header'
@@ -18,14 +18,13 @@ export default class Home extends VueComponent {
@Mut() @Mut()
newList: ListItemType[] = [ newList: ListItemType[] = [
{id: 1, title: '新闻1'}, { id: 1, title: '新闻1' },
{id: 2, title: '新闻2'}, { id: 2, title: '新闻2' },
{id: 3, title: '新闻3'}, { id: 3, title: '新闻3' },
] ]
@Link() H1?: HTMLDivElement @Link() H1?: HTMLDivElement
@Autobind() @Autobind()
async addCount() { async addCount() {
this.count++ this.count++
@@ -37,15 +36,15 @@ export default class Home extends VueComponent {
return ( return (
<div class="home" ref="H1"> <div class="home" ref="H1">
<h1></h1> <h1></h1>
<p onClick={this.addCount}>count响应式变量{this.count}</p> <p onClick={ this.addCount }>count响应式变量{ this.count }</p>
<Header <Header
v-slots={{ v-slots={ {
default: () => <div class="default"> default </div>, default: () => <div class="default"> default </div>,
haveName: () => <div class="haveName"> </div>, haveName: () => <div class="haveName"> </div>,
item: (val) => <li key={val.id}>{val.title}</li> item: (val) => <li key={ val.id }>{ val.title }</li>
}} } }
list={this.newList} list={ this.newList }
text={this.text}> text={ this.text }>
</Header> </Header>
</div> </div>

View File

@@ -16,8 +16,7 @@
"lib": [ "lib": [
"ES2020", "ES2020",
"dom", "dom",
"dom.iterable", "dom.iterable"
"scripthost"
], ],
"skipLibCheck": true, "skipLibCheck": true,
"paths": { "paths": {