vue3嵌入到html中使用 基础(一)
突发奇想要将vue3作为js库嵌入到html中使用,顺便学习下vue3的基础知识
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>ECharts</title> <!-- 方法有用 --> <!-- <script src="https://unpkg.com/vue@next"></script> --> <!-- 方法不生效 Vue未定义 --> <!-- <script src="./vue.esm-browser.js" type="module"></script> --> <!-- 方法有用 --> <script src="./vue.global.js"></script> </head> <body> <div id="counter">Counter: {{ counter }}</div> <div id="bind-attribute"> <span v-bind:title="message"> 鼠标悬停几秒钟查看此处动态绑定的提示信息! </span> </div> <div id="event-handling"> <p>{{ message }}</p> <button v-on:click="reverseMessage">反转 Message</button> </div> <div id="two-way-binding"> <p>{{ message }}</p> <input v-model="message" /> </div> <div id="conditional-rendering"> <span v-if="seen">现在你看到我了</span> </div> <div id="list-rendering"> <ol> <li v-for="todo in todos">{{ todo.text }}</li> </ol> </div> <div id="components-app" class="demo"> <ol> <todo-item v-for="item in groceryList" v-bind:todo="item" v-bind:key="item.id" ></todo-item> </ol> </div> <script> const Counter = { data() { return { counter: 0, }; }, mounted() { setInterval(() => { this.counter++; }, 1000); }, }; Vue.createApp(Counter).mount("#counter"); const AttributeBinding = { data() { return { message: "You loaded this page on " + new Date().toLocaleString(), }; }, }; Vue.createApp(AttributeBinding).mount("#bind-attribute"); const EventHandling = { data() { return { message: "Hello Vue.js!", }; }, methods: { reverseMessage() { this.message = this.message.split("").reverse().join(""); }, }, }; Vue.createApp(EventHandling).mount("#event-handling"); const TwoWayBinding = { data() { return { message: "Hello Vue!", }; }, }; Vue.createApp(TwoWayBinding).mount("#two-way-binding"); const ConditionalRendering = { data() { return { seen: true, }; }, }; Vue.createApp(ConditionalRendering).mount("#conditional-rendering"); const ListRendering = { data() { return { todos: [ { text: "Learn JavaScript" }, { text: "Learn Vue" }, { text: "Build something awesome" }, ], }; }, }; Vue.createApp(ListRendering).mount("#list-rendering"); const ComponentsApp = { data() { return { groceryList: [ { id: 0, text: "Vegetables" }, { id: 1, text: "Cheese" }, { id: 2, text: "Whatever else humans are supposed to eat" }, ], }; }, }; const app = Vue.createApp(ComponentsApp); app.component("todo-item", { props: ["todo"], template: `<li>{{ todo.text }}</li>`, }); app.mount("#components-app"); </script> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix