项目初始化vue-element-admin 源码git clone https://github.com/PanJiaChen/vue-element-admin
cd vue-element-admin
npm i
npm run dev
若npm 报错 Cannot find module ‘core-js/modules/es6.regexp.constructor‘,可安装cnpm install core-js@2识别es6语法精简化项目删除 src/views 下的源码,保留:
dashboard:首页error-page:异常页面login:登录redirect:重定向对 src/router/index 进行相应修改import Vue from ‘vue‘...
computed在指令章节讲过,插值{{ }}和指令都接受变量和表达式的写法,使用表达式可以进行简单的二元或三元运算。但如果要执行更加复杂的计算或频繁重复的计算,如果还是直接写在指令的表达式中会让代码过于臃肿,不好看不优雅。这个时候可以使用computed属性。
比如:<!-- 假设后端返回的价格单位是分,显示格式要求¥0.00元 -->
<!-- bad -->
<div>总价:¥ {{ (price / 100).toFixed(2) }}元</div>
<!-- good -->
<div>总价:{{ ...
坑提示:"The template root requires exactly one element" Src下面有个App.vue文件,在index里引用了这个文件以后,我在.vue文件里添加了html,但是加完一个div以后,再加div就没效果了,百思不得其解。 如图: div1能显示,但是div2死活不出来。知道今天我看见了一句提示: 这句话的意思是模板只能有一个根节点!就是说.vue文件里,要有一个根节点div,里面再去包含1和2,就可以了。 “试试...
1、使用Vue CLI工具生成脚手架,这是最常见的使用方式,简单用模板生成一个HelloWorld Demo,可以学习Vue的SPA项目结构2、通过script引入Vue.js,详细如下:这里搭配Mint-ui<!DOCTYPE html><html><head><meta charset="UTF-8"><!-- 引入样式 --><link rel="stylesheet" href="https://unpkg.com/mint-ui/lib/style.css"></head><body><div id="app"><mt-button @click.native="handleClick">按钮</mt-button></div></body><!-- 先引...
Vue CLI脚手架Vue CLI 安装和使用npm install @vue/cli -gvue create 项目的过程项目的目录结构认识ViteVite的构造浏览器原生支持模块化Vite的安装和使用npm install vite –g # 全局安装npm install vite –D # 局部安装Vite对css的支持Vite对TypeScript的支持Vite对vue的支持Vite打包项目demovite.config.jsconst vue = require(‘@vitejs/plugin-vue‘)module.exports = {plugins: [vue()]
}
ESBuild的构建速度Vite脚手架工具np...
子窗口 2.x modal为true let messageRightMenu = new BrowserWindow({// height: 170,// width: 70,useContentSize: true,frame: false,resizable: false,parent: this.mainWindow,modal: true, // 就是这个,在4.x要设置为false,然后点其实地方才能监听失去焦点show: false})4.x后 modal要设置为 falselet messageRightMenu = new BrowserWindow({// height: 170,// width: 70,useContentSize: true,frame: false,resizable: fa...
一、前言
最近整合Spring Boot+Spring Security+JWT+Vue 完成了一套前后端分离的基础项目,这里把它开源出来分享给有需要的小伙伴们功能很简单,单点登录,前后端动态权限配置,前端权限精确到 按钮 级别,后端权限精确到 url 上,剩下的就是一些关联表的增删改查,例如:用户管理,角色管理,菜单管理,系统日志等...Spring Security入门系列教程:SpringBoot集成Spring Security入门体验(一)Spring Security 自定义登录认证(二...
随着项目的页面越来越多体积越来越大,dev构建速度和pro打包速度越来越慢,然后就抽时间对项目进行了webpack升级来提升一下速度
升级过程中遇到了很多的坑,基本都是plugin和loader升级后的一些用法问题,花了一个晚上和一个上午时间,过程很痛苦,但是看到
速度的大幅度提示,还是很开心的
先上图看一下对比效果
webpack3 dev构建
webpack3 pro打包
webpack5 dev构建 提升60%
webpack5 pro 构建 提升23%
看的处理效果还是很不错的...
问题说明:测试机上部署了一套业务环境,nginx反向代理tomcat,在访问时长时间处于加载中,十分缓慢!通过浏览器调试(F12键->Console),发现有错误ERR_CONTENT_LENGTH_MISMATCH 出现:查看nginx日志(当出现故障时,要记得第一时间查看相关日志).......open() "/Data/app/nginx/proxy_temp/3/00/0000000003" failed (13: Permission denied) while reading upstream, client:...... server: localhost, request: "GET原因:ngin...
Vuex的生命周期是页面缓存,刷新就失效了
解决办法借助缓存import Cookies from ‘js-cookie‘
const state = {userInfo: null || Cookies.get(‘userInfo‘)
}const mutations = {SET_USERINFO: (state, userInfo) => {state.userInfo = userInfovar date = new Date(new Date().getTime() + 120 * 60 * 1000)Cookies.set(‘userInfo‘, userInfo, { expires: date })}
}const actions = {toggleUserInfo({ commit }, userInfo) {c...
// ES5 (function (h) { return h(App);
}); // ES6
h => h(App); 官方文档render: function (createElement) {return createElement(‘h‘ + this.level, // tag name 标签名称this.$slots.default// 子组件中的阵列 )}h是Vue.js 里面的 createElement 函数,这个函数的作用就是生成一个 VNode节点,render 函数得到这个 VNode 节点之后,返回给 Vue.js 的 mount 函数,渲染成真实 DOM 节点,并挂载到根节点上。函数只...
目录二、命令-生命周期函数二、命令-生命周期函数命令order语法糖作用v-bind=attr:attr将数据和标签帮顶起来v-on:action=actionName@action=actionName绑定事件,事件不需要传参数可以省略(){{expression}}从vue对象中取值v-if="boolean"ifv-else-if="boolean"else ifv-elseelsekey作为一种标签的身份标识v-show="boolean"和v-if的区别是,它是display=none标签还在v-for="(item, index) in"for循环:class="{className:boolean}"...
一、安装vuexnpm install vuex --save二、创建全局变量配置文件cd src
mkdir store然后创建store.js文件三、倒入store.js文件在main.js文件中添加import Vuex from‘vuex‘import store from‘./store/store‘new Vue({ el: ‘#app‘, router, store, // 将引用的文件添加到Vue项目中 components: { App }, template: ‘<App/>‘});
在store.js文件中添加import Vue from‘vue‘import Vuex from‘vuex‘Vue.use(Vuex)expor...
vue与jquery比较vue<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue </title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app"><p>{{ message }}</p><button v-on:click="clickfunc">点击</button></div><script>
new Vue({el:‘#app‘,data:{message:‘before‘},methods:{clickfunc:function () {this.message=‘after‘}}})</script>
</body>
</html>Vi...
Vue.component(‘currency-input‘, {template: ‘ <div> <label v-if="label">{{ label }}</label> $ <input ref="input" v-bind:value="value" v-on:input="updateValue($event.target.value)" v-on:focus="selectAll" v-on:blur="formatValue" > </div> ‘,props: {value: {type: Number,default: 0},label: {type: String,default: ‘‘}},mounted: function (...