本文主要是介绍antdesign pro for vue的学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.vue文件的构成
1.template模块(用于展示《div》容器中的内容)
<template><a-config-provider :locale="locale"><div id="app"><router-view/></div></a-config-provider>
</template>
2.JavaScript模块(函数、数据等内容)
<script>
import { domTitle, setDocumentTitle } from '@/utils/domUtil'
import { i18nRender } from '@/locales'export default {
//es6模块化相关知识data () {return {}},computed: {locale () {// 只是为了切换语言时,更新标题const { title } = this.$route.metatitle && (setDocumentTitle(`${i18nRender(title)} - ${domTitle}`))return this.$i18n.getLocaleMessage(this.$store.getters.lang).antLocale}}
}
</script>
3.style标签模块)(样式)
<style scoped></style>
执行流程
1.先在components中编写vue单文件组件的templatement,script,style模块
2.App.vue中导入集合了所有组件
<template><a-config-provider :locale="locale"><div id="app"><router-view/></div></a-config-provider>
</template><script>
import { domTitle, setDocumentTitle } from '@/utils/domUtil'
import { i18nRender } from '@/locales'export default {data () {return {}},computed: {locale () {// 只是为了切换语言时,更新标题const { title } = this.$route.metatitle && (setDocumentTitle(`${i18nRender(title)} - ${domTitle}`))return this.$i18n.getLocaleMessage(this.$store.getters.lang).antLocale}}
}
</script>
<style></style>
3.编写main.js文件(作为入口文件,创建Vue实例,使用组件,挂在镜像)
// with polyfills
import 'core-js/stable'
import 'regenerator-runtime/runtime'import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store/'
import i18n from './locales'
import { VueAxios } from './utils/request'
import ProLayout, { PageHeaderWrapper } from '@ant-design-vue/pro-layout'
import themePluginConfig from '../config/themePluginConfig'// mock
// WARNING: `mockjs` NOT SUPPORT `IE` PLEASE DO NOT USE IN `production` ENV.
import './mock'import bootstrap from './core/bootstrap'
import './core/lazy_use' // use lazy load components
import './permission' // permission control
import './utils/filter' // global filter
import './global.less' // global styleVue.config.productionTip = false// mount axios to `Vue.$http` and `this.$http`
Vue.use(VueAxios)
// use pro-layout components
Vue.component('pro-layout', ProLayout)
Vue.component('page-container', PageHeaderWrapper)
Vue.component('page-header-wrapper', PageHeaderWrapper)window.umi_plugin_ant_themeVar = themePluginConfig.themenew Vue({router,store,i18n,// init localstorage, vuex, Logo messagecreated: bootstrap,render: h => h(App)
}).$mount('#app')
4.编写index.html文件,文件位置public/index.html
包含div容器
<!DOCTYPE html>
<html lang="zh-cmn-Hans"><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"><link rel="icon" href="<%= BASE_URL %>logo.png"><title>Ant Design Pro</title><style>.first-loading-wrp{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:420px;height:100%}.first-loading-wrp>h1{font-size:128px}.first-loading-wrp .loading-wrp{padding:98px;display:flex;justify-content:center;align-items:center}.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style><!-- require cdn assets css --><% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %><link rel="stylesheet" href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" /><% } %></head><body><noscript><strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"><div class="first-loading-wrp"><h1>Pro</h1><div class="loading-wrp"><span class="dot dot-spin"><i></i><i></i><i></i><i></i></span></div><div style="display: flex; justify-content: center; align-items: center;">Ant Design</div></div></div><!-- require cdn assets js --><% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %><script type="text/javascript" src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script><% } %><!-- built files will be auto injected --></body>
</html>
这篇关于antdesign pro for vue的学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!