vue笔记
一个柠檬
成为更好的自己
展开
-
js包第三方依赖导致不兼容ie9
js包第三方依赖导致不兼容ie9的问题vue.config.js官网文档.// vue.config.js module.exports={ transpileDependencies:['vue2-editor'] // 这里填那个导致不兼容的依赖包名 }原创 2020-10-29 15:12:12 · 535 阅读 · 0 评论 -
css动画height为auto无法触发transition
使用max-height属性来进行代替(有一定缺陷)原理:通过一个过大的maxHeight来渐变这里是vue的style写法:style="{height: groupExpandFlag ? 'auto': '60px', maxHeight: groupExpandFlag ? '500px': '60px', transition: 'max-height .3s ease-i...原创 2019-10-23 17:58:24 · 3582 阅读 · 1 评论 -
JSON序列化 自定义组件
用v-if来判断接口数据是否含有该组件name如果有 就渲染该组件原创 2018-08-28 16:38:37 · 256 阅读 · 0 评论 -
vue watch在循环中修改了data陷入无限循环
data:JSON.parse(JSON.stringfly(this.data)).sort((a,b)=>a.name-b.name) 随手写的,单词可能有误,自己更正意思是深克隆一份数据出来,不修改原来的数据原创 2018-08-14 15:38:16 · 7392 阅读 · 0 评论 -
vue父组件异步获取数据传给子组件
但是现在问题是父组件的数据是异步获取的,而子组件一开始就会渲染,如果此时没有传入数据,而子组件又要用到数据中的length属性时就会报错:怎么办呢?最简单的办法就是让子组件条件渲染,当有数据的时候才渲染,这样就不会抛出错误了。但是这还不够完美,子组件一般不直接使用父组件传来的值,二是监听一下,然后有变化了的时候再赋值给data,渲染的时候用data里的数据,这样就能保证随时动态更新...转载 2018-07-26 11:04:50 · 1161 阅读 · 0 评论 -
表单提交后禁止修改
<input type="text" :disabled="disabled">data:{ disabled:false}false就是不禁用,变成true就是禁用原创 2018-07-14 19:50:48 · 1301 阅读 · 0 评论 -
滚动行为
使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动。注意: 这个功能只在支持 history.pushState 的浏览器中可用。当创建一个 Router 实例,你可以提供一个 scrollBehavior 方法:const router = new Vue...转载 2018-07-19 19:14:11 · 326 阅读 · 0 评论 -
导航守卫
全局守卫你可以使用 router.beforeEach 注册一个全局前置守卫:const router = new VueRouter({ ... })router.beforeEach((to, from, next) => { // ...})当一个导航触发时,全局前置守卫按照创建顺序调用。守卫是异步解析执行,此时导航在所有守卫 resolve 完之前一直处于 ...转载 2018-07-19 18:43:19 · 235 阅读 · 0 评论 -
全局守卫
//全局守卫 router.beforeEach((to,from,next)=>{// alert('还没有登陆,请先登录');// next();//确认后可以显示 //判断store.getters.isLogin === false if(to.path == '/login' || to.path =='/register') {next();...原创 2018-07-19 17:43:16 · 574 阅读 · 0 评论 -
vue数组里有undefined无法传值给scope里
vue数组里有undefined无法传值给scope里原创 2018-09-02 21:12:38 · 1670 阅读 · 0 评论 -
记一次vue导出表格和数据不同步
因为数据跟新但是没渲染到DOM上,所以要将表格导出代码块放进this.$nextTick(),表示在下次dom更新之后,再执行导出表格的代码块this.$nextTick((v) => {var el = document.getElementById('outTable')var wb = XLSX.utils.table_to_book(el)/* get binary ...原创 2018-09-05 17:44:47 · 940 阅读 · 0 评论 -
记录vue缓存 keep-alive
原创 2018-09-25 15:03:52 · 254 阅读 · 0 评论 -
element ui datepicker 报错gettime
首先说一下我使用的实际场景html代码: js代码: 首先说明出现原因,elementUI的日期选择器【el-date-picker】在加上格式 value-format="yyyy-MM-dd" format="yyyy-MM-dd" 和校验规则时{ type: 'date', required: true, message: '请选择...转载 2018-09-29 12:01:22 · 1618 阅读 · 0 评论 -
vue,计算属性传参, computed ,根据值不同,渲染相应的内容
<el-table-column prop="status" label="申请状态"> <template slot-scope="scope"> <el-tag :type="getApplyStatus(scope)" disable-transitions原创 2018-12-05 10:34:42 · 2345 阅读 · 1 评论 -
vue init webpack-simple 和安装elementui后 npm run dev报错
ERROR in ./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf往webpack.config.js里加入{ test: /\.(eot|svg|ttf|woff|woff2)$/, loader: 'file-loader' }原创 2018-12-17 15:10:10 · 749 阅读 · 2 评论 -
vscode standard 验证vuenpm
转载 2019-01-13 17:57:45 · 380 阅读 · 0 评论 -
vue里表单验证的v-model.number的坑
问题:表单验证正则匹配数字,但输入汉字仍然通过原因:.number会将input里的值用parseFloat()转化,这样用正则匹配数字后,输入的即使是:123四五六;也不会报错,因为123四五六被转换成了123解决办法:将.number去除即可...原创 2019-01-02 10:02:36 · 28260 阅读 · 1 评论 -
vue子组件mounted中无法获取到dom
原因:子组件代码中用了v-if,所以为变量为false时的部分dom还未渲染当然获取不到,将v-if改为v-show,则可以获取的到dom,因为v-show会渲染dom,只是控制display的显隐,...原创 2019-07-18 09:24:37 · 2973 阅读 · 0 评论 -
输错地址时候,可配置路由跳转到特定页面
{path:'*',redirect:'/'}原创 2018-07-19 16:34:31 · 719 阅读 · 0 评论 -
router-link的tag属性以及router-view的复用
<router-link to="/" tag="div" class="nav-link">主页</router-link> 可用tag改变默认元素 如果 <router-view>设置了名称,则会渲染对应的路由配置中 components 下的相应组件。查看 命名视图 中的例子。 ...原创 2018-07-19 16:31:19 · 9512 阅读 · 0 评论 -
render: h => h(App)
render: h => h(App) 是下面内容的缩写:render: function (createElement) { return createElement(App);}进一步缩写为(ES6 语法):render (createElement) { return createElement(App);}再进一步缩写为:render (...转载 2018-07-19 14:16:53 · 2872 阅读 · 0 评论 -
vue的父组件和子组件认知
在这里,可以将 #app 元素认为是父组件的模板,它就是起着父组件的作用,<child /> 为子组件。数据是通过在父组件中的 <input /> 获得,然后通过 子组件的 v-bind 方法,传给了子组件。此时子组件 <child /> 内部获得了 mymessage 数据,将其通过模板渲染到页面上。template 属性只是作为一个模板,显示数据,本身不是...转载 2018-06-29 17:21:54 · 494 阅读 · 0 评论 -
Element 默认勾选表格 toggleRowSelection
定时器模拟ajax请求。var Main = { data() { return { tableData3: [], multipleSelection: [] } }, mounted(){ var _this = this; setTimeout(function(){ ...转载 2018-07-03 10:54:23 · 6923 阅读 · 0 评论 -
vue指令
v-if: 判断是否加载,可以减轻服务器的压力,在需要时加载。v-show:调整css dispaly属性,可以使客户端操作更加流畅。原创 2018-07-16 14:12:49 · 177 阅读 · 0 评论 -
vue-rousource的使用
1.需要安装vue-resource模块,注意加上 --savenpm install vue-resource --save / cnpm install vue-resource --save2.main.js引入 vue-resourceimport VueResource from 'vue-resource';3.Vue.use(VueResource);4.在组件里面直接使用this....原创 2018-07-10 20:08:04 · 784 阅读 · 0 评论 -
vue组件之间传值
/*父组件给子组件传值 1.父组件调用子组件的时候 绑定动态属性<v-header :homemsg="msg"></v-header> 2、在子组件里面通过 props接收父组件传过来的数据props:['homemsg'];3.直接在子组件使用 *//*父组件主动获取子组件的数据和方法:1.调用子组件的时候定义...原创 2018-07-10 20:56:39 · 184 阅读 · 0 评论 -
prop验证
props: { // 基础的类型检查 (`null` 匹配任何类型) propA: Number, // 多个可能的类型 propB: [String, Number], // 必填的字符串 propC: { type: String, required: true }, // 带有默认值的数字 pr...转载 2018-07-10 21:00:16 · 353 阅读 · 0 评论 -
webpack+vue 在使用element-ui时import 'element-ui/lib/theme-chalk/index.css‘失败
1.确认style-loader!css-loader是否下载,如果下载,是否在config文件中进行了配置配置文件如下:{ test: /\.css$/, loader: 'style-loader!css-loader', exclude: /node_modules/ }1 2 3 4 5但是这样仍然无法正常...转载 2018-07-17 11:14:42 · 2232 阅读 · 1 评论 -
vue路由配置:
https://router.vuejs.org/vue路由配置: 1.安装 npm install vue-router --save / cnpm install vue-router --save 2、引入并 Vue.use(VueRouter) (main.js) import VueRouter from 'vue-router' Vue.use(VueRouter)...转载 2018-07-11 15:54:29 · 246 阅读 · 0 评论 -
hash 和 history的区别
为什么要有 hash 和 history对于 Vue 这类渐进式前端开发框架,为了构建 SPA(单页面应用),需要引入前端路由系统,这也就是 Vue-Router 存在的意义。前端路由的核心,就在于 —— 改变视图的同时不会向后端发出请求。为了达到这一目的,浏览器当前提供了以下两种支持:hash —— 即地址栏 URL 中的 # 符号(此 hash 不是密码学里的散列运算)。比如这个 URL:ht...转载 2018-07-12 09:50:10 · 4705 阅读 · 0 评论 -
vue router.push(),router.replace(),router.go()
vue router.push(),router.replace(),router.go()2017-07-27 15:23 by 改个名字吧, 13585 阅读, 0 评论, 收藏, 编辑1.router.push(location)=====window.history.pushState想要导航到不同的 URL,则使用 router.push 方法。这个方法会向 history 栈添加一个新...转载 2018-07-12 09:56:39 · 660 阅读 · 0 评论 -
嵌套路由配置
1.配置路由{ path: '/user', component: User, name: 'user', children:[ { path: 'useradd', component: UserAdd }, { path: 'userlist', component: UserList } ] }2.父路由里面配置子路由显示的地方 <...原创 2018-07-12 10:34:54 · 356 阅读 · 0 评论 -
vue事件修饰符
.stop == e.stopPropagation() .prevent == e.preventDefault() .capture .self .once .passive <!-- 阻止单击事件继续传播 --><a v-on:click.stop="doThis"></a><!-- 提交事件不再重载页面 -->&...转载 2018-07-18 14:08:48 · 190 阅读 · 0 评论 -
按键修饰符
在监听键盘事件时,我们经常需要检查常见的键值。Vue 允许为 v-on 在监听键盘事件时添加按键修饰符: <!-- 只有在 `keyCode` 是 13 时调用 `vm.submit()` --><input v-on:keyup.13="submit"> 记住所有的 keyCode 比较困难,所以 Vue 为最常用的按键提供了别名: ...转载 2018-07-18 14:31:27 · 335 阅读 · 0 评论 -
对象深拷贝
this.yourData = JSON.parse(JSON.stringify(this.myData));原创 2018-07-12 16:27:45 · 198 阅读 · 0 评论 -
v-else-if和v-for with v-if和v-for on a template
v-else-if,顾名思义,充当 v-if 的“else-if 块”,可以连续使用: <div v-if="type === 'A'"> A</div><div v-else-if="type === 'B'"> B</div><div v-else-if="type === 'C'"&原创 2018-07-18 16:28:54 · 316 阅读 · 0 评论 -
v-for在数组和对象的区别
v-for循环数组时候两个参数,第一个为数组内元素,第二个为元素索引(item,index)循环对象时候可以有三个参数,第一个为键值,第二个为键名,第三个为索引(value,key,index)...原创 2018-07-18 16:55:11 · 6777 阅读 · 2 评论 -
组件的 data 选项必须是一个函数
data 必须是一个函数当我们定义这个 <button-counter> 组件时,你可能会发现它的 data 并不是像这样直接提供一个对象:data: { count: 0}取而代之的是,一个组件的 data 选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝:data: function () { return { count: 0 }}如...原创 2018-06-29 16:59:44 · 707 阅读 · 0 评论