前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用html对vue3进行混排应用

使用html对vue3进行混排应用

作者头像
编程思维
修改2023-08-21 14:09:16
3100
修改2023-08-21 14:09:16
举报

html中混排使用vue3

现在基本上都是使用webpack

直接用脚手架建立vue3项目

但是偶尔需要HTML文件中使用

独立在HTML文件中引入Vue.js库

这里做了一个简单的实验

实例代码

代码语言:javascript
复制
<!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>vue3用于html</title>
    <script src="https://unpkg.com/vue@next"></script>
    <link rel="stylesheet" href="https://unpkg.com/element-plus/dist/index.css" />
    <script src="https://unpkg.com/element-plus"></script>
</head>
<style>
</style>

<body>
    <div style="width:100%;" id="app">
        <div>{{exp_id}}</div>
        <div>{{fullNum}}</div>
        <div v-for="item in dateTime" :key="item">{{item}}</div>
        <el-button type="primary" @click="upload('更新')">更新</el-button>
        <el-button type="success" @click="sets('还原')">还原</el-button>
        <el-button type="warning" @click="dialog">打开弹框</el-button>
        <div>
            <el-select v-model="value" class="m-2" placeholder="Select" size="large">
                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
            </el-select>
        </div>
        <el-dialog v-model="dialogVisible" title="Tips" width="30%">
            <span>测试文本</span>
            <template #footer>
                <span class="dialog-footer">
                    <el-button @click="dialogVisible = false">Cancel</el-button>
                    <el-button type="primary" @click="dialogVisible = false">
                        Confirm
                    </el-button>
                </span>
            </template>
        </el-dialog>
    </div>
</body>

</html>
<script>
    Object.assign(window, Vue);
    const vue3Composition = {
        setup() {
            const data = reactive({
                exp_id: '测试元数据',
                dateTime: [1, 2, 3, 4, 5],
                value: '',
                dialogVisible: false,
                options: [{
                        value: 'Option1',
                        label: 'Option1',
                    },
                    {
                        value: 'Option2',
                        label: 'Option2',
                    }
                ]
            });
            const dataRef = toRefs(data)
            watch(dataRef.exp_id, (newName, oldName) => {
                console.log("新数据", newName);
                console.log("老数据", oldName);
            })
            dataRef.fullNum = computed(() => {
                return dataRef.value
            });
            onMounted(() => {
                console.log(`on mounted`)
            })
            const methods = reactive({
                upload(e) {
                    dataRef.exp_id.value = '修改'
                    dataRef.dateTime.value = [11, 22, 33, 44, 55]
                },
                sets(e) {
                    dataRef.exp_id.value = '测试元数据'
                    dataRef.dateTime.value = [1, 2, 3, 4, 5]
                },
                dialog() {
                    dataRef.dialogVisible.value = true
                }
            })
            return {
                ...dataRef,
                ...methods
            }
        },
    }
    const app = createApp(vue3Composition).use(ElementPlus).mount("#app");
</script>

通过 Object.assign(window, Vue) 进行挂接

然后就可以开展各项应用了

在页面mount的时候接入

然后实现vue的应用

觉得有用可以经常看看我的文章

让我们共同进步

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • html中混排使用vue3
  • 实例代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档