目录
纯vue2
<!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>纯vue2</title>
<style>
</style>
</head>
<body>
<div class="page" id="app">
<div class="head pubSet">
<ul class="nav">
<li v-for="item in navList">{{item.name}}</li>
</ul>
</div>
<div class="main pubSet">这里是相关内容</div>
</div>
<script src="https://unpkg.com/vue@2.7.15/dist/vue.js"></script>
<script>
var vm = new Vue({
el: '#app',
data: {
},
created: function () {
}
})
</script>
</body>
</html>
vue2+elementUi
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<link rel="stylesheet" href="https://unpkg.com/element-ui@2.15.14/lib/theme-chalk/index.css">
<script src="https://unpkg.com/vue@2.7.15/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui@2.15.14/lib/index.js"></script>
<body>
<div id="app">
<!-- <template> -->
<!-- </template> -->
</div>
<script>
var Main = {
data() {
return {
};
},
methods: {
}
};
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
</script>
</body>
vue3+elementUI
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HTML 纯文件 整理 使用 Vue3 + element-plus + 字节cdn </title>
<!--element css -->
<link href="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/element-plus/2.0.4/index.min.css" type="text/css"
rel="stylesheet" />
<!-- vue/3 -->
<script src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/vue/3.2.31/vue.global.min.js"
type="application/javascript"></script>
<!-- element-plus -->
<script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/element-plus/2.0.4/index.full.min.js"
type="application/javascript"></script>
<!-- locale -->
<script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/element-plus/2.0.4/locale/zh-cn.min.js"
type="application/javascript"></script>
<!-- axios -->
<script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/axios/0.26.0/axios.min.js"
type="application/javascript"></script>
<!-- qs -->
<script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/qs/6.10.3/qs.min.js"
type="application/javascript"></script>
<!-- echarts -->
<script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/echarts/5.3.0/echarts.min.js"
type="application/javascript"></script>
</head>
<style>
.flex-grow {
flex-grow: 1;
}
</style>
<body>
<div id="app">
</div>
<script>
// const vue = Vue
const createApp = Vue.createApp
const ref = Vue.ref
const el = ElementPlus
const ElMessage = el.ElMessage
const APP = {
setup() {
return {
}
}
}
const app = createApp(APP)
app.use(ElementPlus, {
locale: ElementPlusLocaleZhCn,
})
app.mount('#app')
</script>
</body>
</script>
</body>
</html>
vue3+antd
<!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语法模板</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>
<script src="https://unpkg.com/dayjs/dayjs.min.js"></script>
<script src="https://unpkg.com/dayjs/plugin/customParseFormat.js"></script>
<script src="https://unpkg.com/dayjs/plugin/weekday.js"></script>
<script src="https://unpkg.com/dayjs/plugin/localeData.js"></script>
<script src="https://unpkg.com/dayjs/plugin/weekOfYear.js"></script>
<script src="https://unpkg.com/dayjs/plugin/weekYear.js"></script>
<script src="https://unpkg.com/dayjs/plugin/advancedFormat.js"></script>
<script src="https://unpkg.com/dayjs/plugin/quarterOfYear.js"></script>
<link rel="stylesheet" type="text/css" href="./dist/3.2.15/antd.css" media="screen">
<script src="./dist/3.2.15/antd.js"></script>
<!-- 这个antd.js的引入 一定要在最后,因为它引入了上面js的文件,-->
<!-- 这两个文件是从下载的node_modules里面的安装包里找到的,不用单独上网上下载。 -->
</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>
<a-button type="primary" @click="upload('更新')">更新</a-button>
<a-button type="dashed" @click="sets('恢复')">恢复</a-button>
<a-button danger @click="dialog">打开弹框</a-button>
<div>
<a-select v-model="value" class="m-2" placeholder="Select" size="large">
<a-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
</a-select>
</div>
<el-button type="primary">dddddddd</el-button>
</div>
</body>
</html>
<script>
Object.assign(window, Vue);
console.log("antd",antd)
const vue3Composition = {
setup() {
// 变量部分
const data = reactive({
exp_id: '虚拟实验id',
dateTime: [1, 2, 3, 4, 5],
value: '',
dialogVisible: false,
options: [{
value: 'Option1',
label: 'Option1',
},
{
value: 'Option2',
label: 'Option2',
}
]
});
// toRef: 复制 reactive 里的单个属性并转成 ref
// toRefs: 复制 reactive 里的所有属性并转成 ref
const dataRef = toRefs(data)
// 监听
watch(dataRef.exp_id, (newName, oldName) => {
console.log("新数据", newName);
console.log("老数据", oldName);
})
// 计算属性
dataRef.fullNum = computed(() => {
return dataRef.value
});
// 生命周期 mounted
onMounted(() => {
console.log(`我是Mounted生命周期`)
})
// 函数部分
const methods = reactive({
upload(e) {
dataRef.exp_id.value = '修改'
dataRef.dateTime.value = [8, 9, 10, 11, 12]
//this.dialog() //调用其他方法加this可以调用到
},
sets(e) {
dataRef.exp_id.value = '虚拟实验id'
dataRef.dateTime.value = [1, 2, 3, 4, 5]
},
dialog() {
dataRef.dialogVisible.value = true
}
})
return {
...dataRef,
...methods
}
// return 的时候都扩展开了,所以可以直接用名字来调用
},
}
const app = createApp(vue3Composition).use(antd).use(ElementPlus).mount("#app");//初始化
</script>