当前位置: 首页 > news >正文

现在中国空间站有几个人茂名h5网站建设

现在中国空间站有几个人,茂名h5网站建设,在线推广是网站推广,平面设计广告设计属于什么专业一.Mock.js 1、什么是Mock.js Mock.js是一个用于生成模拟数据的JavaScript库。它能够模拟后端API接口#xff0c;用于前端开发时进行接口调试和测试提高自动化测试效率。使用Mock.js可以快速创建虚拟的数据#xff0c;并且可以设置数据的类型、格式和规则#xff0c;从而模…一.Mock.js 1、什么是Mock.js Mock.js是一个用于生成模拟数据的JavaScript库。它能够模拟后端API接口用于前端开发时进行接口调试和测试提高自动化测试效率。使用Mock.js可以快速创建虚拟的数据并且可以设置数据的类型、格式和规则从而模拟真实的数据响应。Mock.js支持生成随机数据、拦截Ajax请求以返回模拟数据、支持RESTful API风格等功能能够提高前端开发效率并且减少对后端接口的依赖。 数据类型丰富支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。 拦截Ajax请求不需要修改既有代码就可以拦截Ajax请求返回模拟的响应数据。   更多内容请查看Mock.js 官网 2、安装配置 1、安装 在你的项目的路径CMD窗口下载Mock.js。 npm i mockjs -D -D表示只在开发环境中使用 在我们的package.json里面可以看到我们下载的mock.js 2、引入   为了只在开发环境使用mock而打包到生产环境时自动不使用mock我们可以在config目录中的dev.env.js和prod.env.js做一个配置。 dev.env.js use strict const merge require(webpack-merge) const prodEnv require(./prod.env)module.exports merge(prodEnv, {NODE_ENV: development,MOCK: true }) prod.env.js use strict module.exports {NODE_ENV: production,MOCK: false } 最后我们在main.js里面导入 // The Vue build version to load with the import command // (runtime-only or standalone) has been set in webpack.base.conf with an alias. import Vue from vue //开发环境下才会引入mockjs process.env.MOCK require(/mock) // 新添加1 import ElementUI from element-ui // 新添加2避免后期打包样式不同要放在import App from ./App;之前 import element-ui/lib/theme-chalk/index.cssimport App from ./App import router from ./router// 新添加3----实例进行一个挂载 Vue.use(ElementUI) Vue.config.productionTip falseimport axios from /api/http import VueAxios from vue-axiosVue.use(VueAxios, axios)/* eslint-disable no-new */ new Vue({el: #app,router,components: {App},template: App/ }) 2、Mock.js的使用 1、定义测试数据文件 为每个*.vue定义单独的xxx-mock.js文件并在其中添加自定义的json数据还可以通过mockjs的模块生成随机数据信息动态测试ajax请求效果。 创建src/mock/json目录定义登录测试数据文件login-mock.js // const loginInfo { // code: -1, // message: 密码错误 // }//使用mockjs的模板生成随机数据 const loginInfo {code|-1-0: 0,message|3-10: msg } export default loginInfo; 2、mock拦截ajax请求 在src/mock目录下创建index.js定义拦截路由配置 import Mock from mockjs //引入mockjsnpm已安装 import action from /api/action //引入请求地址//全局设置设置所有ajax请求的超时时间模拟网络传输耗时 Mock.setup({// timeout: 400 //延时400s请求到数据timeout: 200 - 400 //延时200-400s请求到数据 })//引登陆的测试数据并添加至mockjs import loginInfo from /mock/json/login-mock.js let s1 action.getFullPath(SYSTEM_USER_DOLOGIN) Mock.mock(s1, post, loginInfo) // Mock.mock(s1, /post|get/i, loginInfo)3、模拟测试 使用登录页面模拟测试   templatediv classLoginel-form classlogin-containerh1 classtitle用户登录/h1el-form-item labelel-input typetext v-modelusername placeholder登录账号 autocompleteoff/el-input/el-form-itemel-form-item labelel-input typepassword v-modelpassword placeholder登录密码 autocompleteoff/el-input/el-form-itemel-form-itemel-button typeprimary stylewidth:100%; clickdoSubmit()提交/el-button/el-form-itemel-row styletext-align: center;margin-top:-10pxel-link typeprimary忘记密码/el-linkel-link typeprimary clickgotoRegister()用户注册/el-link/el-row/el-form/div /template scriptexport default {name: Login,data() {return {username: ,password: }},methods: {gotoRegister() {this.$router.push(/Register);},//提交事件doSubmit() {//设置登录访问地址let url this.axios.urls.SYSTEM_USER_DOLOGIN;// 使用json格式进行传值let params {username: this.username,password: this.password}this.axios.post(url, params).then(r {console.log(r);this.$message({message: r.data.message,type: r.data.code 0?success: error});}).catch(e {});}} } /scriptstyle scoped .login-wrap {box-sizing: border-box;width: 100%;height: 100%;padding-top: 10%;background-image: url(https://pic4.zhimg.com/v2-c5880f5a6d44766feb085c3ae94899c7_r.jpg); //background-image: url();background-repeat: no-repeat;background-position: center right;background-size: 100%; }.login-container {border-radius: 10px;margin: 0px auto;width: 350px;padding: 30px 35px 15px 35px;background: #fff;border: 1px solid #eaeaea;text-align: left;box-shadow: 0 0 20px 2px rgba(0, 0, 0, 0.1); }.title {margin: 0px auto 40px auto;text-align: center;color: #505458; } /style 二、首页导航、左侧菜单  1、页面搭建 在我们的components的公共文件夹里面写我们的公共页面。 AppMain.vue布局容器组件 LeftAside.vue左侧菜单组件 TopNav.vue首页导航组件 根据vue组件之间传递数据实现element-ui的NavMenu菜单折叠、展开效果。 子组件往父组件传递数据(this.$emit)TopNav - AppMain 父组件往子组件传递数据(props)AppMain - LeftAside 1.1、图标定义 图标可以根据自己的风格来我这里也提供在下面了自己也可以进行更改。  1.2、AppMain.vue templateel-container classmain-containerel-aside v-bind:classasideClassLeftNav/LeftNav/el-asideel-containerel-header classmain-headerTopNav/TopNav/el-headerel-main classmain-center这是一个非常帅的主页/el-main/el-container/el-container /templatescript // 导入组件 import TopNav from /components/TopNav.vue import LeftNav from /components/LeftNav.vue// 导出模块 export default {}; /script style scoped .main-container {height: 100%;width: 100%;box-sizing: border-box; }.main-aside-collapsed {/* 在CSS中通过对某一样式声明! important 可以更改默认的CSS样式优先级规则使该条样式属性声明具有最高优先级 */width: 64px !important;height: 100%;background-color: #334157;margin: 0px; }.main-aside {width: 240px !important;height: 100%;background-color: #334157;margin: 0px; }.main-header, .main-center {padding: 0px;border-left: 2px solid #333; } /style 1.3、LeftNav.vue templateel-menu default-active2 classel-menu-vertical-demo background-color#334157text-color#fff active-text-color#ffd04b :collapsecollapseddiv classlogoboximg classlogoimg src../assets/img/logo.png alt/divel-submenu index1template slottitlei classel-icon-location/ispan导航一/span/templateel-menu-item-grouptemplate slottitle分组一/templateel-menu-item index1-1选项1/el-menu-itemel-menu-item index1-2选项2/el-menu-item/el-menu-item-groupel-menu-item-group title分组2el-menu-item index1-3选项3/el-menu-item/el-menu-item-groupel-submenu index1-4template slottitle选项4/templateel-menu-item index1-4-1选项1/el-menu-item/el-submenu/el-submenuel-menu-item index2i classel-icon-menu/ispan slottitle导航二/span/el-menu-itemel-menu-item index3 disabledi classel-icon-document/ispan slottitle导航三/span/el-menu-itemel-menu-item index4i classel-icon-setting/ispan slottitle导航四/span/el-menu-item/el-menu /template script export default {} /script style .el-menu-vertical-demo:not(.el-menu--collapse) {width: 240px;min-height: 400px; }.el-menu-vertical-demo:not(.el-menu--collapse) {border: none;text-align: left; }.el-menu-item-group__title {padding: 0px; }.el-menu-bg {background-color: #1f2d3d !important; }.el-menu {border: none; }.logobox {height: 40px;line-height: 40px;color: #9d9d9d;font-size: 20px;text-align: center;padding: 20px 0px; }.logoimg {height: 40px; } /style 1.4、TopNav.vue templateel-menu classel-menu-demo modehorizontal background-color#334157 text-color#fff active-text-color#fffel-button classbuttonimgimg classshowimg :srccollapsed?imgshow:imgsq clickdoToggle()/el-buttonel-submenu index2 classsubmenutemplate slottitle超级管理员/templateel-menu-item index2-1设置/el-menu-itemel-menu-item index2-2个人中心/el-menu-itemel-menu-item clickexit() index2-3退出/el-menu-item/el-submenu/el-menu /templatescript export default {data() {return {collapsed: false,imgshow: require(/assets/img/show.png),imgsq: require(/assets/img/sq.png)}}, methods: {} } /scriptstyle scoped .el-menu-vertical-demo:not(.el-menu--collapse) {border: none; }.submenu {float: right; }.buttonimg {height: 60px;background-color: transparent;border: none; }.showimg {width: 26px;height: 26px;position: absolute;top: 17px;left: 17px; }.showimg:active {border: none; } /style 1.5、index.js 在index,js里面进行路由配置 import Vue from vue import Router from vue-router import HelloWorld from /components/HelloWorld import Login from /views/Login import Register from /views/Register import AppMain from /components/AppMain import LeftNav from /components/LeftNav import TopNav from /components/TopNavVue.use(Router)export default new Router({routes: [{path: /Login,name: Login,component: Login},{path: /Register,name: Register,component: Register},{path: /AppMain,name: AppMain,component: AppMain,children: [{path: /LeftNav,name: LeftNav,component: LeftNav},{path: /TopNav,name: TopNav,component: TopNav}]}] }) 2、功能实现  2.1、AppMain.vue // 导出模块 export default {//把顶部导航和左边导航进行绑定在maincomponents: {TopNav, LeftNav},data() {return {asideClass: main-aside}},created() {this.$root.Bus.$on(sjm, v {this.asideClass v ? main-aside-collapsed : main-aside;});} }; 2.2、LeftNav.vue export default {data() {return {collapsed: false}},created() {this.$root.Bus.$on(sjm, v {this.collapsed v;});} } 2.3、TopNav.vue export default {data() {return {collapsed: false,imgshow: require(/assets/img/show.png),imgsq: require(/assets/img/sq.png)}}, methods: {//图标的切换doToggle() {this.collapsed !this.collapsed;//定义一个事件名,将是否折叠变量放入总线this.$root.Bus.$emit(sjm, this.collapsed)},exit() {this.$router.push(/Login);}} } 2.4、main.js data() {return {Bus: new Vue()}} 3、完整代码 3.1、AppMain.vue templateel-container classmain-containerel-aside v-bind:classasideClassLeftNav/LeftNav/el-asideel-containerel-header classmain-headerTopNav/TopNav/el-headerel-main classmain-center这是一个非常帅的主页/el-main/el-container/el-container /templatescript // 导入组件 import TopNav from /components/TopNav.vue import LeftNav from /components/LeftNav.vue// 导出模块 export default {//把顶部导航和左边导航进行绑定在maincomponents: {TopNav, LeftNav},data() {return {asideClass: main-aside}},created() {this.$root.Bus.$on(sjm, v {this.asideClass v ? main-aside-collapsed : main-aside;});} }; /script style scoped .main-container {height: 100%;width: 100%;box-sizing: border-box; }.main-aside-collapsed {/* 在CSS中通过对某一样式声明! important 可以更改默认的CSS样式优先级规则使该条样式属性声明具有最高优先级 */width: 64px !important;height: 100%;background-color: #334157;margin: 0px; }.main-aside {width: 240px !important;height: 100%;background-color: #334157;margin: 0px; }.main-header, .main-center {padding: 0px;border-left: 2px solid #333; } /style 3.2、LeftNav.vue templateel-menu default-active2 classel-menu-vertical-demo background-color#334157text-color#fff active-text-color#ffd04b :collapsecollapseddiv classlogoboximg classlogoimg src../assets/img/logo.png alt/divel-submenu index1template slottitlei classel-icon-location/ispan导航一/span/templateel-menu-item-grouptemplate slottitle分组一/templateel-menu-item index1-1选项1/el-menu-itemel-menu-item index1-2选项2/el-menu-item/el-menu-item-groupel-menu-item-group title分组2el-menu-item index1-3选项3/el-menu-item/el-menu-item-groupel-submenu index1-4template slottitle选项4/templateel-menu-item index1-4-1选项1/el-menu-item/el-submenu/el-submenuel-menu-item index2i classel-icon-menu/ispan slottitle导航二/span/el-menu-itemel-menu-item index3 disabledi classel-icon-document/ispan slottitle导航三/span/el-menu-itemel-menu-item index4i classel-icon-setting/ispan slottitle导航四/span/el-menu-item/el-menu /template script export default {data() {return {collapsed: false}},created() {this.$root.Bus.$on(sjm, v {this.collapsed v;});} } /script style .el-menu-vertical-demo:not(.el-menu--collapse) {width: 240px;min-height: 400px; }.el-menu-vertical-demo:not(.el-menu--collapse) {border: none;text-align: left; }.el-menu-item-group__title {padding: 0px; }.el-menu-bg {background-color: #1f2d3d !important; }.el-menu {border: none; }.logobox {height: 40px;line-height: 40px;color: #9d9d9d;font-size: 20px;text-align: center;padding: 20px 0px; }.logoimg {height: 40px; } /style 3.3、TopNav.vue templateel-menu classel-menu-demo modehorizontal background-color#334157 text-color#fff active-text-color#fffel-button classbuttonimgimg classshowimg :srccollapsed?imgshow:imgsq clickdoToggle()/el-buttonel-submenu index2 classsubmenutemplate slottitle超级管理员/templateel-menu-item index2-1设置/el-menu-itemel-menu-item index2-2个人中心/el-menu-itemel-menu-item clickexit() index2-3退出/el-menu-item/el-submenu/el-menu /templatescript export default {data() {return {collapsed: false,imgshow: require(/assets/img/show.png),imgsq: require(/assets/img/sq.png)}}, methods: {//图标的切换doToggle() {this.collapsed !this.collapsed;//定义一个事件名,将是否折叠变量放入总线this.$root.Bus.$emit(sjm, this.collapsed)},exit() {this.$router.push(/Login);}} } /scriptstyle scoped .el-menu-vertical-demo:not(.el-menu--collapse) {border: none; }.submenu {float: right; }.buttonimg {height: 60px;background-color: transparent;border: none; }.showimg {width: 26px;height: 26px;position: absolute;top: 17px;left: 17px; }.showimg:active {border: none; } /style 3.4、main.js // The Vue build version to load with the import command // (runtime-only or standalone) has been set in webpack.base.conf with an alias. import Vue from vue //开发环境下才会引入mockjs process.env.MOCK require(/mock) // 新添加1 import ElementUI from element-ui // 新添加2避免后期打包样式不同要放在import App from ./App;之前 import element-ui/lib/theme-chalk/index.cssimport App from ./App import router from ./router// 新添加3----实例进行一个挂载 Vue.use(ElementUI) Vue.config.productionTip falseimport axios from /api/http import VueAxios from vue-axiosVue.use(VueAxios, axios)/* eslint-disable no-new */ new Vue({el: #app,router,//定义变量data() {return {Bus: new Vue()}},components: {App},template: App/ })
http://www.pierceye.com/news/836672/

相关文章:

  • 模板网站免费下载wordpress启用静态
  • 保定网站建设哪家好网站建设实践报告3000字
  • 网站制作项目执行免费制作微网站
  • 西安网站制作费用网站建设小程序开发报价
  • 深圳做针织衫服装的网站软件开发工具手机版
  • 网站域名注册的相关证书证明文件最珠海app
  • 网站规划建设与管理维护大学论文免费个人搭建网站
  • 网站解析时候让做别名企业密信app下载安装
  • 直播网站建设模板网站中文商标域名注册
  • 商务网站建设与管理读后感为什么公司要做网站
  • 高密 网站建设wordpress设置置顶文章
  • 购物京东商城西安官网seo哪家公司好
  • 专门做库存处理的网站沭阳建设网站
  • 建筑必看六个网站门户网站地方生活门户有哪些
  • 江阴 网站开发python基础教程百度亿
  • 邹城网站建设v556本校网站建设
  • 郑州一站式网站搭建北京装饰公司十大排名
  • 网站建设程序代码百度智能创作平台
  • 网上制作网站建立中文网站的英文
  • 网站域名过户查询太原企业网站怎么优化
  • 西安哪些做网站的公司创业平台网站
  • 做网站费用滁州wordpress 快站
  • 上海手机网站制作网站制作最
  • 做一网站APP多少钱网站做照片
  • 会同县做网站设计网站的结构时
  • 行业门户网站制作百度权重是怎么来的
  • 巅云建站as.net 网站开发视频教程
  • 网站开发定制合同在哪个网站可以学做衣服
  • 关键词排行优化网站搜索引擎营销的主要方式有
  • 免费网站建设免费咨询wordpress安装环境搭建