vue

前端框架及项目面试-聚焦Vue、React、Webpack

こ雲淡風輕ζ 提交于 2020-03-04 22:58:31
介绍课程制作的背景和课程主要内容。 1-1 课程导学 试看 第2章 课程介绍 先出几道面试真题,引导思考。带着问题来继续学习,效果更好。 2-1 先看几个面试题 试看 第3章 Vue 使用 Vue 是前端面试必考内容,首先要保证自己要会使用 Vue 。本章讲解 Vue 基本使用、组件使用、高级特性和 Vuex Vue-router ,这些部分的知识点和面试题。 3-1 vue使用-考点串讲 3-2 vue基本使用 3-3 vue基本知识点串讲-part2 3-4 vue父子组件如何通讯 3-5 如何用自定义事件进行vue组件通讯 3-6 vue父子组件生命周期调用顺序 3-7 面试会考察哪些vue高级特性 3-8 vue如何自己实现v-model 3-9 vue组件更新之后如何获取最新DOM 3-10 slot是什么 3-11 vue动态组件是什么 3-12 vue如何异步加载组件 3-13 vue如何缓存组件 3-14 vue组件如何抽离公共逻辑 3-15 vue高级特性知识点小结 3-16 vuex知识点串讲 3-17 vue-router知识点串讲 3-18 vue使用-考点总结和复习 第4章 Vue 原理 要保证自己的面试竞争力,必须掌握 Vue 原理,前端高级面试或者大厂面试中常考。本章讲解虚拟DOM,diff 算法,响应式,模板编译,组件渲染等 Vue

vue配置文件分离

别来无恙 提交于 2020-03-04 22:07:30
vue配置文件分离 1.安装插件webpack-merge npm install --save-dev webpack-merge 2.创建要分离出的配置信息文件比如:共有的base.config.js 注意:path路径 const path = require ( 'path' ) ; module . exports = { entry : './src/main.js' , output : { path : path . resolve ( __dirname , '../dist' ) , filename : 'bundle.js' , publicPath : 'dist/' } , module : { rules : [ { test : /\.css$/ , use : [ 'style-loader' , 'css-loader' ] } , { test : /\.vue$/ , user : [ 'vue-loader' ] } , { test : /\.(png|jpg|gif)$/ , use : [ { loader : 'url-loader' , options : { limit : 500 } } ] } , { test : /\.js$/ , exclude : /(node_modules|bower_components)/ ,

Vue中的scoped和scoped穿透

旧时模样 提交于 2020-03-04 21:27:24
1.什么是scoped 在Vue文件中的style标签上有一个特殊的属性,scoped。当一个style标签拥有scoped属性时候,它的css样式只能用于当前的Vue组件,可以使组件的样式不相互污染。如果一个项目的所有style标签都加上了scoped属性,相当于实现了样式的模块化。 2.scoped的实现原理 Vue中的scoped属性的效果主要是通过PostCss实现的。以下是转译前的代码: 1 <style scoped lang="less"> 2 .example{ 3 color:red; 4 } 5 </style> 6 <template> 7 <div class="example">scoped测试案例</div> 8 </template> 转译后: .example[data-v-5558831a] { color: red; } <template> <div class="example" data-v-5558831a>scoped测试案例</div> </template> 既:PostCSS给一个组件中的所有dom添加了一个独一无二的动态属性,给css选择器额外添加一个对应的属性选择器,来选择组件中的dom,这种做法使得样式只作用于含有该属性的dom元素(组件内部的dom)。 总结:scoped的渲染规则: 1

使用vue过滤器

老子叫甜甜 提交于 2020-03-04 20:11:48
首先得知道过滤器是干嘛用的。比如说自来水从水厂到家,肯定是经过了多重的过滤才能被使用。那么vue过滤器也是如此。 用一张图来生动表示一下 过滤器的使用方法 <!-- 在双花括号中 --> {{ message | capitalize }} <!-- 在 `v-bind` 中 --> < div v-bind: id = " rawId | formatId " > </ div > 过滤器的定义 //组件的选项中定义 filters : { capitalize : function ( value ) { if ( ! value ) return '' value = value . toString ( ) return value . charAt ( 0 ) . toUpperCase ( ) + value . slice ( 1 ) } } //在组件之外定义 Vue . filter ( 'capitalize' , function ( value ) { //如果value为空,就返回一个空字符串 if ( ! value ) return '' //将value转为字符串,以方便使用下面的字符串的API value = value . toString ( ) //将首字母大写 return value . charAt ( 0 ) .

VUE购物车

风流意气都作罢 提交于 2020-03-04 19:51:17
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> <!-- 引入 Vue 和 Vant 的 JS、CSS文件 --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vant@2.4/lib/index.css"> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/vant@2.4/lib/vant.min.js"></script> </head> <style> *{ margin: 0; padding: 0; } body{ background-color: #eee; } #all{ overflow: hidden; margin-bottom: 60px; } .list{ width: 100%; height: auto; } .list-info{ width

基于 Egg + Vue + Webpack 框架搭建

佐手、 提交于 2020-03-04 18:08:31
基于 Egg + Vue + Webpack 服务端渲染开发指南 1. 项目初始化 1.1 easywebpack-cli 脚手架初始化项目 安装脚手架 npm install easywebpack-cli -g 命令行,然后就可以使用 easywebpack 或 easy 命令 命令行运行 easywebpack init 选择 egg+vue server side render boilerplate 初始化骨架项目 安装依赖 npm install 1.2 GitHub 仓库代码初始化项目 Bash git clone https://github.com/hubcarl/egg-vue-webpack-boilerplate.git npm install 初始化的项目提供多页面和SPA(vue-router/axios)服务端渲染实例,可以直接运行。 1.3 vscode 插件初始化项目 https://marketplace.visualstudio.com/items?itemName=hubcarl.vscode-easy-plugin#overview 2. 项目运行 2.1 本地运行 Bash npm run dev // egg-bin dev npm run dev 做了如下三件事情 启动 egg 应用 启动 Webpack 构建, 文件不落地磁盘

VUE实现Studio管理后台(一):鼠标拖放改变窗口大小

我与影子孤独终老i 提交于 2020-03-04 15:41:59
近期改版RXEditor,把改版过程,用到的技术点,记录下来。昨天完成了静态页面的制作,制作过程并未详细记录,后期已经不愿再补了,有些遗憾。不过工作成果完整保留在github上,地址: https://github.com/vularsoft/studio-ui 这个项目下面的html-demo.html,便是静态文件。 话不多说,今天就把昨天的HTML转化成VUE。 先看效果: 布局原理 页面采用纯弹性盒子flex box布局,无float postion等,页面分成如下几个区域: 细实线描述的是各个DIV之间的嵌套关系,粗黑线是独立的DIV,我称它们为把手(HADLE),主要用来接受鼠标拖动事件,以完成拖动操作。handle非为两种,横向x-handle,纵向y-handle,css中定义x-handle宽度为3px,高度为100%,y-handle高度为3px,宽度为100%,鼠标光标也相应设置一下: .vular-studio .x-handle{ width: 3px; cursor: w-resize; z-index: 10; } .vular-studio .y-handle{ height: 3px; cursor: s-resize; z-index: 10; } 拖动原理 带有把手的区域固定大小(固定宽度或者高度),不带把手的部分跟随弹性盒子变化

Vue npm 项目构建 教程

非 Y 不嫁゛ 提交于 2020-03-04 15:28:41
文章目录 1、项目简述 2、开发环境 3、vue项目搭建 3.1、插件以及对应配置文件创建 3.1.1、nodejs、npm安装 3.1.2、babel 实现 ES6 3.1.3、webpack 3.1.4、webpack-自动打包配置 3.1.5、生成预览页面(不需要点击src才能看到预览页) 3.1.6、配置加载器 1、项目简述 这几天正在学习Vue全家桶,Vue的体系比较庞大、涉及的内容也比较多,少数几张帖子很难系统的学习Vue,在这里模拟搭建一个Vue的环境,还在学习中,如有不到还请见谅。 2、开发环境 编辑器:vsCode 推荐使用vsCode,对比了几个编辑器工具,vscode的功能最为好用。 3、vue项目搭建 3.1、插件以及对应配置文件创建 3.1.1、nodejs、npm安装 nodejs、npm安装教程请查看我之前写的这个帖子: https://blog.csdn.net/jrgdspuwij/article/details/104577548 3.1.2、babel 实现 ES6 在终端输入命令 # 第一步 npm install -- save - dev @babel / core @babel / cli @babel / preset - env @babel / node @第二步 npm install -- save @babel /

vue表单内嵌表格验证

走远了吗. 提交于 2020-03-04 14:20:04
<el-form label-suffix=":" label-width="110px" v-if="!isShowPersonal" label-position="left" :model="enterpriseAuthenticationInfo" ref="modifyEnterpriseForm" > <el-table border :data="enterpriseAuthenticationInfo.businessContactPersonsVos" style="width: 100%" > <el-table-column label="姓名"> <template slot-scope="scope"> <el-input size="medium" v-model="scope.row.business_name" :disabled="isDisableInAuthentication" ></el-input> </template> </el-table-column> <el-table-column label="手机号"> <template slot-scope="scope"> <el-form-item :prop="'businessContactPersonsVos.' + scope.$index + '.business

vue-webpack问题

只愿长相守 提交于 2020-03-04 14:15:54
1.webpack.config.js文件中配置resolve的alias属性时main.js文件中import vue from 'vue’中无效。 resolve : { alias : { // "vue$":"vue/dist/vue.js" } } import Vue from 'vue' 解决办法:看在node_modules路径是否缺少path文件,如果是,执行cnpm i path --save命令,安装path,安装后,![在这里插入图片描述](https://img-blog.csdnimg.cn/20200304101850137.png 来源: CSDN 作者: 哆啦a茳 链接: https://blog.csdn.net/weixin_44758036/article/details/104648034