多行文本溢出如何显示省略号
摘要:做项目的时候往往会遇到这么一种需求:文本溢出需要隐藏。 我遇到过两种情况: 1.单行文本溢出(如下图) 2.多行文本溢出(如下图) 以上情况呢,就是你给文本画好了框框,可人家呆不下啊,那咋办,咱还是用省略号表示吧 先看第一种,很好操作,在需要溢出隐藏的代码块里加上下面的css代码就妥了: { ove
阅读全文
微信小程序开发笔记
摘要:1. 修改data中的数据 this.setData({ msg:'Sakura' }) 控制台输出data中的数据 console.log(this.data.msg) 2. 绑定事件 bindxxx 是不阻止冒泡事件绑定 catchxxx 是阻止冒泡事件绑定 1) 冒泡事件 a) 定义:冒泡事件
阅读全文
vue学习---vue项目中的axios请求与相应拦截
摘要:import axios from "axios"; import store from "../store"; import router from "../router"; export default function setAxios() { //请求拦截 axios.interceptor
阅读全文
vue2.0+按需引入element-ui报错
摘要:项目使用vue脚手架自动生成的,vue版本为^2.5.16.项目中需要按需使用element-ui,根据element-ui的官方文档,一开始在babel.config.js文件中修改配置 module.exports = { presets: [ "@vue/app", ["es2015", {
阅读全文
vue学习---vue-router路由器的两种工作模式(history与hash模式)
摘要:路由器的两种工作模式 对于一个url来说,什么是hash值?—— #及其后面的内容就是hash值。 hash值不会包含在 HTTP 请求中,即:hash值不会带给服务器。 hash模式: 地址中永远带着#号,不美观 。 若以后将地址通过第三方手机app分享,若app校验严格,则地址会被标记为不合法。
阅读全文
vue学习---vue-router(独享守卫,组件内守卫)
摘要:独享守卫: beforeEnter(to,from,next){ console.log('beforeEnter',to,from) if(to.meta.isAuth){ //判断当前路由是否需要进行权限控制 if(localStorage.getItem('school') 'atguigu'
阅读全文
vue学习---vue-router路由守卫 (全局前置守卫,全局后置首位) 路由中meta属性
摘要:路由守卫 作用:对路由进行权限控制 分类:全局守卫、独享守卫、组件内守卫 全局守卫: //全局前置守卫:初始化时执行、每次路由切换前执行 router.beforeEach((to,from,next)=>{ console.log('beforeEach',to,from,next) if(to.
阅读全文
vue学习---编程式路由导航--操作浏览器记录前进与后退(不借助<router-link> 实现路由跳转)
摘要:.编程式路由导航 作用:不借助<router-link> 实现路由跳转,让路由跳转更加灵活 具体编码: //$router的两个API this.$router.push({ name:'xiangqing', params:{ id:xxx, title:xxx } }) this.$router
阅读全文
vue学习-vue-router的replace属性(控制路由跳转时操作浏览器历史记录的模式)
摘要:8.<router-link>的replace属性 作用:控制路由跳转时操作浏览器历史记录的模式 浏览器的历史记录有两种写入方式:分别为push和replace,push是追加历史记录,replace是替换当前记录。路由跳转时候默认为push 如何开启replace模式:<router-link r
阅读全文
vue学习---vue-router路由的props配置
摘要:路由的props配置 作用:让路由组件更方便的收到参数 { name:'xiangqing', path:'detail/:id', component:Detail, //第一种写法:props值为对象,该对象中所有的key-value的组合最终都会通过props传给Detail组件 // p
阅读全文
vue学习---vue-router路由的params参数(声明接收params参数)
摘要:路由的params参数 配置路由,声明接收params参数 { path:'/home', component:Home, children:[ { path:'news', component:News }, { component:Message, children:[ { name:'xian
阅读全文
vue学习---vue-router命名路由(可以简化路由的跳转)
摘要:5.命名路由 作用:可以简化路由的跳转。 如何使用 给路由命名: { path:'/demo', component:Demo, children:[ { path:'test', component:Test, children:[ { name:'hello' //给路由命名 path:'wel
阅读全文
vue学习---vue-router路由的query参数(用于传递参数)
摘要:4.路由的query参数 传递参数 <!-- 跳转并携带query参数,to的字符串写法 --> <router-link :to="/home/message/detail?id=666&title=你好">跳转</router-link> <!-- 跳转并携带query参数,to的对象写法 --
阅读全文
vue学习---vue-router多级路由
摘要:3.多级路由(多级路由) 配置路由规则,使用children配置项: routes:[ { path:'/about', component:About, }, { path:'/home', component:Home, children:[ //通过children配置子级路由 { path:
阅读全文
vue学习---vue-router路由(基本使用)
摘要:路由 理解: 一个路由(route)就是一组映射关系(key - value),多个路由需要路由器(router)进行管理。 前端路由:key是路径,value是组件。 1.基本使用 安装vue-router,命令:npm i vue-router 应用插件:Vue.use(VueRouter) 编
阅读全文
vue学习---vuex的 模块化+命名空间
摘要:模块化+命名空间 目的:让代码更好维护,让多种数据分类更加明确。 修改store.js const countAbout = { namespaced:true,//开启命名空间 state:{x:1}, mutations: { ... }, actions: { ... }, getters:
阅读全文
vue学习---vuex四个map方法的使用(mapState,mapGetters,mapMutations,mapActions)
摘要:6.四个map方法的使用 引入方式 import {mapState,mapGetters,mapMutations,mapActions} from 'vuex' mapState方法:用于帮助我们映射state中的数据为计算属性 computed: { //借助mapState生成计算属性:su
阅读全文
vue学习---Vuex中getters的使用
摘要:getters的使用 概念:当state中的数据需要经过加工后再使用时,可以使用getters加工。 在store.js中追加getters配置 ...... const getters = { bigSum(state){ return state.sum * 10 } } //创建并暴露stor
阅读全文
vscode配置
摘要:1. TAB键位生成自定义标签 "emmet.triggerExpansionOnTab": true 2.自动补全括号 "editor.autoClosingBrackets": true
阅读全文
vue学习---Vuex基本使用
摘要:Vuex 1.概念 在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。 2.何时使用? 多个组件需要共享数据时 3.搭建vuex环境 创建文件:src/store/index.j
阅读全文
vue学习---插槽(slot标签 与 scope属性)
摘要:插槽 作用:让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于 父组件 > 子组件 。 分类:默认插槽、具名插槽、作用域插槽 使用方式: 默认插槽: 父组件中: <Category> <div>html结构1</div> </Category> 子组件中: <templa
阅读全文
vue学习---配置代理服务器(解决跨域问题)
摘要:vue脚手架配置代理 方法一 在vue.config.js中添加如下配置: devServer:{ proxy:"http://localhost:5000" } 说明: 优点:配置简单,请求资源时直接发给前端(8080)即可。 缺点:不能配置多个代理,不能灵活的控制请求是否走代理。 工作方式:
阅读全文
vue学习---过度与动画
摘要:Vue封装的过度与动画 作用:在插入、更新或移除 DOM元素时,在合适的时候给元素添加样式类名。 写法: 准备好样式: 元素进入的样式: v-enter:进入的起点 v-enter-active:进入过程中 v-enter-to:进入的终点 元素离开的样式: v-leave:离开的起点 v-leav
阅读全文
vue学习---nextTick(在下一次 DOM 更新结束后执行其指定的回调)
摘要:nextTick 语法:this.$nextTick(回调函数) 作用:在下一次 DOM 更新结束后执行其指定的回调。 什么时候用:当改变数据后,要基于更新后的新DOM进行某些操作时,要在nextTick所指定的回调函数中执行。 //编辑 handleEdit(todo){ if(todo.hasO
阅读全文
vue学习---消息订阅与发布
摘要:消息订阅与发布(pubsub) 一种组件间通信的方式,适用于任意组件间通信。 使用步骤: 安装pubsub:npm i pubsub-js 引入: import pubsub from 'pubsub-js' 接收数据:A组件想接收数据,则在A组件中订阅消息,订阅的回调留在A组件自身。 method
阅读全文
vue学习---全局事件总线
摘要:全局事件总线(GlobalEventBus) 一种组件间通信的方式,适用于任意组件间通信。 安装全局事件总线: new Vue({ ...... beforeCreate() { Vue.prototype.$bus = this //安装全局事件总线,$bus就是当前应用的vm }, ......
阅读全文
vue学习---scoped样式(让样式在局部生效,防止冲突)
摘要:scoped样式 作用:让样式在局部生效,防止冲突。 写法:<style scoped>
阅读全文
vue学习---插件
摘要:功能:用于增强Vue 本质:包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据。 定义插件: 对象.install = function (Vue, options) { // 1. 添加全局过滤器 Vue.filter(....) // 2
阅读全文
vue学习---mixin(混入)
摘要:mixin(混入) 功能:可以把多个组件共用的配置提取成一个混入对象 使用方式: 第一步定义混合:在src目录下创建mixin.js { data(){....}, methods:{....} .... } 第二步使用混入: 全局混入:Vue.mixin(xxx) 局部混入:mixins:[
阅读全文
vue学习---props配置项(让组件接收外部传过来的数据)
摘要:props配置项 功能:让组件接收外部传过来的数据 传递数据:<Demo name="xxx"/> 接收数据: 第一种方式(只接收):props:['name'] 第二种方式(限制类型):props:{name:String} 第三种方式(限制类型、限制必要性、指定默认值): props:{ nam
阅读全文
vue学习---ref属性 [给元素或子组件注册引用信息(id的替代者)]
摘要:ref属性 被用来给元素或子组件注册引用信息(id的替代者) 应用在html标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象(vc) 使用方式: 打标识:<h1 ref="xxx">.....</h1> 或 <School ref="xxx"></School> 获取:this.$ref
阅读全文
vue学习---组件的自定义事件
摘要:组件的自定义事件 一种组件间通信的方式,适用于:子组件 > 父组件 使用场景:A是父组件,B是子组件,B想给A传数据,那么就要在A中给B绑定自定义事件(事件的回调在A中)。 绑定自定义事件: 第一种方式,在父组件中:<Demo @atguigu="test"/> 或 <Demo v-on:atgui
阅读全文
vue学习---浏览器本地存储Window.sessionStorage 和 Window.localStorage
摘要:webStorage 存储内容大小一般支持5MB左右(不同浏览器可能还不一样) 浏览器端通过 Window.sessionStorage 和 Window.localStorage 属性来实现本地存储机制。 相关API: xxxxxStorage.setItem('key', 'value'); 该
阅读全文
vue学习---脚手架--render函数
摘要:关于不同版本的Vue: 1.vue.js与vue.runtime.xxx.js的区别: (1).vue.js是完整版的Vue,包含:核心功能+模板解析器。 (2).vue.runtime.xxx.js是运行版的Vue,只包含:核心功能;没有模板解析器。 2.因为vue.runtime.xxx.js没
阅读全文
vue学习---单文件组件
摘要:School.vue文件 <template> <div class="demo"> <h2>学校名称:{{name}}</h2> <h2>学校地址:{{address}}</h2> <button @click="showName">点我提示学校名</button> </div> </templa
阅读全文
vue学习---Vue实例与Vuecomponent实例之间的重要内置关系
摘要:1.一个重要的内置关系:VueComponent.prototype.__proto__ Vue.prototype 2.为什么要有这个关系:让组件实例对象(vc)可以访问到 Vue原型上的属性、方法。
阅读全文
vue学习--- 关于VueComponen
摘要:关于VueComponent: 1.school组件本质是一个名为VueComponent的构造函数,且不是程序员定义的,是Vue.extend生成的。 2.我们只需要写<school/>或<school></school>,Vue解析时会帮我们创建school组件的实例对象, 即Vue帮我们执行的
阅读全文
vue学习---组件的嵌套
摘要:<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>组件的嵌套</title> <!-- 引入Vue --> <script type="text/javascript" src="../js/vue.js"></script>
阅读全文
vue学习---组件的几个注意点(组件名, 组件标签, 简写方式)
摘要:几个注意点: 1.关于组件名: 一个单词组成: 第一种写法(首字母小写):school 第二种写法(首字母大写):School 多个单词组成: 第一种写法(kebab-case命名):my-school 第二种写法(CamelCase命名):MySchool (需要Vue脚手架支持) 备注: (1)
阅读全文
vue学习---非单文件组件初步学习
摘要:Vue中使用组件的三大步骤: 一、定义组件(创建组件) 二、注册组件 三、使用组件(写组件标签) 一、如何定义一个组件? 使用Vue.extend(options)创建,其中options和new Vue(options)时传入的那个options几乎一样,但也有点区别; 区别如下: 1.el不要写
阅读全文
vue学习---生命周期详解
摘要:常用的生命周期钩子: 1.mounted: 发送ajax请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】。 2.beforeDestroy: 清除定时器、解绑自定义事件、取消订阅消息等【收尾工作】。 关于销毁Vue实例 1.销毁后借助Vue开发者工具看不到任何信息。 2.销毁后自定义事件会
阅读全文
vue学习---初识生命周期钩子(mounted挂载完毕钩子)
摘要:生命周期: 1.又名:生命周期回调函数、生命周期函数、生命周期钩子。 2.是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数。 3.生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。 4.生命周期函数中的this指向是vm 或 组件实例对象。 <!DOCTYPE html> <
阅读全文
vue学习---自定义指令总结(配置对象中常用的3个回调 与 指令名命名方式)
摘要:自定义指令总结: 一、定义语法: (1).局部指令: new Vue({ new Vue({ directives:{指令名:配置对象} 或 directives{指令名:回调函数} }) }) (2).全局指令: Vue.directive(指令名,配置对象) 或 Vue.directive(指令
阅读全文
vue学习---v-pre指令(跳过其所在节点的编译过程)
摘要:v-pre指令: 1.跳过其所在节点的编译过程。 2.可利用它跳过:没有使用指令语法、没有使用插值语法的节点,会加快编译。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>v-pre指令</title> <!-- 引入Vue
阅读全文
vue学习--- v-once指令(初次动态渲染后,就视为静态内容)
摘要:v-once指令: 1.v-once所在节点在初次动态渲染后,就视为静态内容了。 2.以后数据的改变不会引起v-once所在结构的更新,可以用于优化性能。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>v-once指令</
阅读全文
vue学习---v-cloak指令(解决网速慢时页面展示出{{xxx}}的问题)
摘要:v-cloak指令(没有值): 1.本质是一个特殊属性,Vue实例创建完毕并接管容器后,会删掉v-cloak属性。 2.使用css配合v-cloak可以解决网速慢时页面展示出{{xxx}}的问题。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"
阅读全文
vue学习---v-html指令与安全问题
摘要:v-html指令: 1.作用:向指定节点中渲染包含html结构的内容。 2.与插值语法的区别: (1).v-html会替换掉节点中所有的内容,{{xx}}则不会。 (2).v-html可以识别html结构。 3.严重注意:v-html有安全性问题!!!! (1).在网站上动态渲染任意HTML是非常危
阅读全文
vue学习---v-text指令(向其所在的节点中渲染文本内容)
摘要:学过的指令: v-bind : 单向绑定解析表达式, 可简写为 :xxx v-model : 双向数据绑定 v-for : 遍历数组/对象/字符串 v-on : 绑定事件监听, 可简写为@ v-if : 条件渲染(动态控制节点是否存存在) v-else : 条件渲染(动态控制节点是否存存在) v-s
阅读全文
vue学习---过滤器Vue.filter / {{ xxx | 过滤器名}}
摘要:过滤器: 定义:对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理)。 语法: 1.注册过滤器:Vue.filter(name,callback) 或 new Vue{filters:{}} 2.使用过滤器:{{ xxx | 过滤器名}} 或 v-bind:属性 = "xxx | 过滤器
阅读全文
vue学习---收集表单数据/v-model的三个修饰符
摘要:收集表单数据: 若:<input type="text"/>,则v-model收集的是value值,用户输入的就是value值。 若:<input type="radio"/>,则v-model收集的是value值,且要给标签配置value值。 若:<input type="checkbox"/>
阅读全文
vue学习---数据监视总结
摘要:Vue监视数据的原理: 1. vue会监视data中所有层次的数据。 2. 如何监测对象中的数据? 通过setter实现监视,且要在new Vue时就传入要监测的数据。 (1).对象中后追加的属性,Vue默认不做响应式处理 (2).如需给后添加的属性做响应式,请使用如下API: Vue.set(ta
阅读全文
vue学习---Vue.set添加数据
摘要:当我们使用vue开发时经常会遇到当vue实例已经创建好了,有时候需要再次给数据赋值时,并不能在视图中改变在vue文档中写着如果在实例创建之后添加新的属性到实例上,它不会触发视图更新因此比如我们修改一个数组其中的一个值,或者添加一条数据时,不管用。 <div id="app"> <p v-for="i
阅读全文
vue学习---列表排序
摘要:<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>列表排序</title> <script type="text/javascript" src="../js/vue.js"></script> </head> <body>
阅读全文
vue学习---列表过滤
摘要:<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>列表过滤</title> <script type="text/javascript" src="../js/vue.js"></script> </head> <body>
阅读全文
vue学习---key的作用以及原理
摘要:面试题:react、vue中的key有什么作用?(key的内部原理) 1. 虚拟DOM中key的作用: key是虚拟DOM对象的标识,当数据发生变化时,Vue会根据【新数据】生成【新的虚拟DOM】, 随后Vue进行【新虚拟DOM】与【旧虚拟DOM】的差异比较,比较规则如下: 2.对比规则: (1).
阅读全文
vue学习---列表渲染(v-for)
摘要:v-for指令: 1.用于展示列表数据 2.语法:v-for="(item, index) in xxx" :key="yyy" 3.可遍历:数组、对象、字符串(用的很少)、指定次数(用的很少) <!DOCTYPE html> <html> <head> <meta charset="UTF-8"
阅读全文
vue学习---条件渲染
摘要:条件渲染: 1.v-if 写法: (1).v-if="表达式" (2).v-else-if="表达式" (3).v-else="表达式" 适用于:切换频率较低的场景。 特点:不展示的DOM元素直接被移除。 注意:v-if可以和:v-else-if、v-else一起使用,但要求结构不能被“打断”。 2
阅读全文
vue学习---绑定样式
摘要:<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>绑定样式</title> <style> .basic{ width: 400px; height: 100px; border: 1px solid black; } .ha
阅读全文
vue学习---computed和watch之间的区别
摘要:computed和watch之间的区别: 1.computed能完成的功能,watch都可以完成。 2.watch能完成的功能,computed不一定能完成,例如:watch可以进行异步操作。 两个重要的小原则: 1.所被Vue管理的函数,最好写成普通函数,这样this的指向才是vm 或 组件实例对
阅读全文
vue学习---监视属性简写
摘要:<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>天气案例_监视属性_简写</title> <!-- 引入Vue --> <script type="text/javascript" src="../js/vue.js"></
阅读全文
vue学习---深度监视
摘要:深度监视: (1).Vue中的watch默认不监测对象内部值的改变(一层)。 (2).配置deep:true可以监测对象内部值改变(多层)。 备注: (1).Vue自身可以监测对象内部值的改变,但Vue提供的watch默认不可以! (2).使用watch时根据数据的具体结构,决定是否采用深度监视。
阅读全文
vue学习---监视属性
摘要:监视属性watch: 1.当被监视的属性变化时, 回调函数自动调用, 进行相关操作 2.监视的属性必须存在,才能进行监视!! 3.监视的两种写法: (1).new Vue时传入watch配置 (2).通过vm.$watch监视 <!DOCTYPE html> <html> <head> <meta
阅读全文
vue学习---计算属性简写
摘要:<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>姓名案例_计算属性实现</title> <!-- 引入Vue --> <script type="text/javascript" src="../js/vue.js"></s
阅读全文
vue学习---计算属性
摘要:计算属性: 1.定义:要用的属性不存在,要通过已有属性计算得来。 2.原理:底层借助了Objcet.defineproperty方法提供的getter和setter。 3.get函数什么时候执行? (1).初次读取时会执行一次。 (2).当依赖的数据发生改变时会被再次调用。 4.优势:与method
阅读全文
vue学习---键盘事件
摘要:1.Vue中常用的按键别名: 回车 => enter 删除 => delete (捕获“删除”和“退格”键) 退出 => esc 空格 => space 换行 => tab (特殊,必须配合keydown去使用) 上 => up 下 => down 左 => left 右 => right 2.Vu
阅读全文
vue学习---Vue中的事件修饰符
摘要:Vue中的事件修饰符: 1.prevent:阻止默认事件(常用); 2.stop:阻止事件冒泡(常用); 3.once:事件只触发一次(常用); 4.capture:使用事件的捕获模式; 5.self:只有event.target是当前操作的元素时才触发事件; 6.passive:事件的默认行为立即
阅读全文
vue学习---事件的基本使用(v-on / @xxx)
摘要:事件的基本使用: 1.使用v-on:xxx 或 @xxx 绑定事件,其中xxx是事件名; 2.事件的回调需要配置在methods对象中,最终会在vm上; 3.methods中配置的函数,不要用箭头函数!否则this就不是vm了; 4.methods中配置的函数,都是被Vue所管理的函数,this的指
阅读全文
vue学习---vue中的数据代理
摘要:1.Vue中的数据代理: 通过vm对象来代理data对象中属性的操作(读/写) 2.Vue中数据代理的好处: 更加方便的操作data中的数据 3.基本原理: 通过Object.defineProperty()把data对象中所有属性添加到vm上。 为每一个添加到vm上的属性,都指定一个getter/
阅读全文
vue学习---Object.defineproperty方法(理解数据代理 简单实现数据双向数据绑定)
摘要:<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>回顾Object.defineproperty方法</title> </head> <body> <script type="text/javascript" > let nu
阅读全文
vue学习---理解MVVM
摘要:<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>理解MVVM</title> <!-- 引入Vue --> <script type="text/javascript" src="../js/vue.js"></script
阅读全文