项目创建方式:npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project
// index.vue
<template>
<view>
<Demo>
<DemoContent></DemoContent>
</Demo>
</view>
</template>
<script lang="ts">
import Demo from './Demo.vue';
import DemoContent from './DemoContent.vue';
export default {
components: {
Demo,
DemoContent
}
};
</script>
// DemoContent.vue
<template>
<view>
this is a demo.
Time is {{ new Date().getTime() }}
</view>
</template>
<script lang="ts">
import { onBeforeMount, onBeforeUnmount } from 'vue';
export default {
setup() {
onBeforeMount(() => {
console.log("onBeforeMount");
});
onBeforeUnmount(() => {
console.log("onBeforeUnmount");
});
}
};
</script>
// Demo.vue
<template>
<view>
<view style="background: #ff0;width:50vw;" @click="show = !show">测试</view>
<view>{{ show }}</view>
<view v-if="show">
<slot></slot>
</view>
</view>
</template>
<script lang="ts">
import { ref } from 'vue';
export default {
setup() {
const show = ref(false);
return {
show
}
}
};
</script>
1 个回复
s***@163.com (作者)