<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script src="https://unpkg.com/vue@next"></script>
</head>
<body>
<div id="root"></div>
</body>
<script>
const app = Vue.createApp({
setup() {
const { provide } = Vue;
provide("username", "zhangsan");
return {};
},
template: `
<child />
`,
});
app.component("child", {
setup() {
const { inject } = Vue;
const username = inject("username", "lisi");
return { username };
},
template: `
<h1>{{username}}</h1>
`,
});
const vm = app.mount("#root");
</script>
</html>