:::commend{title="answer"}
参考回复:
:::commend{title="answer"}
参考回复:
:::commend{title="answer"}
参考回复:
:::commend{title="answer"}
参考回复:
.value
访问建议使用 ref() 作为声明响应式状态的主要 API
:::
:::commend{title="answer"}
参考回复:
const state = reactive({
count: 0,
message: 'Hello, Vue 3!'
});
const { count, message } = toRefs(state);
:::
:::commend{title="answer"}
参考回复:
export default {
server: {
proxy: {
'/api': {
target: 'http://your-api-server.com',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ''),
},
},
},
}
:::
:::commend{title="answer"}
参考回复:
<component>
<template>
<component :is="view" />
</template>
:::
:::commend{title="answer"}
参考回复:
修饰符 | 作用 |
---|---|
stop | 调用 event.stopPropagation(),阻止事件冒泡 |
prevent | 调用 event.preventDefault(),阻止默认事件行为(如表单提交)。 |
capture | 使事件在捕获阶段触发,而不是冒泡阶段 |
self | 仅当事件源为当前元素时触发事件,不会触发子元素的事件 |
... | |
::: |
:::commend{title="answer"}
参考回复:
defineOptions()
unplugin-vue-setup-extend-plus
<script setup>
defineOptions({
inheritAttrs: false,
customOptions: {
/* ... */
}
})
</script>
<script lang="ts" setup name="App" inheritAttrs="false">
const a = 1
</script>
:::
:::commend{title="answer"}
参考回复:
首先定义 ref
获取组件使用
然后在子组件使用 defineExpose()
暴露
:::
:::commend{title="answer"}
参考回复:
<div>
<slot :text="greetingMessage" :count="1"></slot>
</div>
<MyComponent v-slot="slotProps">
{{ slotProps.text }} {{ slotProps.count }}
</MyComponent>
:::
:::commend{title="answer"}
参考回复:
<Transition>
和 <TransitionGroup>
组件来实现组件间的过渡动画。:::commend{title="answer"}
参考回复:
:deep()
:::commend{title="answer"}
参考回复:
watch(
source,
(newValue, oldValue) => {
// 当 `source` 变化时,仅触发一次
},
{ once: true, immediate: true }
)
:::
:::commend{title="answer"}
参考回复:
大概原理:
:::
:::commend{title="answer"}
参考回复:
app.directive('focus', {
mounted(el) {
el.focus(); // 自动聚焦
},
});```
:::
## Vue3 中的 Teleport 是什么?如何使用?
:::commend{title="answer"}
参考回复:
- Teleport 允许你将组件的 DOM 渲染到组件树之外的任意位置。它解决了 Vue 组件的 DOM 层级嵌套限制问题,使得你可以将模态框、通知、工具提示等内容渲染到 HTML 文档的任意位置。
```vue
<template>
<div>
<h1>主内容</h1>
<teleport to="body">
<div class="modal">这是一个模态框</div>
</teleport>
</div>
</template>
:::
:::commend{title="answer"}
参考回复:
<template>
<div>
<h1>Suspense 示例</h1>
<Suspense>
<!-- 默认插槽:加载完成后显示的内容 -->
<template #default>
<AsyncComponent />
</template>
<!-- 占位插槽:加载期间显示的内容 -->
<template #fallback>
<p>加载中...</p>
</template>
</Suspense>
</div>
</template>
:::
:::commend{title="answer"}
参考回复:
Pinia相比 Vuex
:::commend{title="answer"}
参考回复:
:::
:::commend{title="answer"}
参考回复:
const routes = [
{
path: '/',
name: 'Home',
component: () => import('@/views/Home.vue'), // 动态导入 Home 组件
},
{
path: '/about',
name: 'About',
component: () => import('@/views/About.vue'), // 动态导入 About 组件
},
];
:::
:::commend{title="answer"}
参考回复:
:::
:::commend{title="answer"}
参考回复:
.env
文件来为不同环境配置变量。常见的环境文件包括:
:::commend{title="answer"}
参考回复:
:::commend{title="answer"}
参考回复:
:::commend{title="answer"}
参考回复:
:::commend{title="answer"}
参考回复:
:::warn
按照真实项目开发描述即可。无参考回复!
:::
此文由 Mix Space 同步更新至 xLog
原始链接为 https://kaife.cn/posts/interview/vue