[Vue] vue的一些面试题2】的更多相关文章

vue提供了一整套前端解决方案,可以提升企业开发效率 vue的处理过程 app.js 项目入口,所有请求最先进入此模块进行处理 route.js 由app.js调用,处理路由的分发 controller.js 处理各种业务 model.js 执行增删改查crud(create.read.update.delete) MVC 即model(M).html(V).route.controller(c) MVVM VM是连接M和V的中介角色,VM提供了数据的双向绑定,作为view的html展示数据时需…
Vue - vue.js 常用指令 目录: 一. vuejs模板语法之常用指令 1. 常用指令: v-html 2. 常用指令: v-text 3. 常用指令: v-for 4. 常用指令: v-if 5. 常用指令: v-show 6. v-if和v-show的性能比较 7. 常用指令: v-bind 8. 常用指令: v-on 9. 常用指令: v-model 10. 常用指令: 指令修饰符 11. 常用指令: 计算属性 12. 常用指令: 侦听属性 13. 常用指令: 自定义指令 14.…
首先vue.js 是库,不是框架,不是框架,不是框架. Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据. Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统. vue.js 下载过来直接在html中引入就好了并不一定要npm install vue. vue.js 有路由的 叫vue-route.js,vue.js也有数据请求 叫vue-resource.js Vue.js可以在html里引用,使…
什么是Vue.js Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架. Vue.js 是前端的主流框架之一,和Angular.js.React.js 一起,并成为前端三大主流框架! Vue.js 是一套构建用户界面的框架,只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合. Vue 核心的概念,就是让用户不再操作DOM元素,提高渲染效率,前端程序员只需要关心数据的业务逻辑,不再关系 DOM 是如何渲染的. MVC 与 前端中的 MVVM 之间的区别 MVC 是后…
使用vue-cli 3.0+Element-ui时候,调用form表单校验时候出现的问题是: Property 'validate' does not exist on type 'Element | Element[] | Vue | Vue[]'. Property 'validate' does not exist on type 'Element'. 解决方案 (this.$refs.form as any).validate((valid: boolean) => { if (vali…
Vue.use Vue.use 的作用是安装插件 Vue.use 接收一个参数 如果这个参数是函数的话,Vue.use 直接调用这个函数注册组件 如果这个参数是对象的话,Vue.use 将调用 install 方法来注册组件 * 官方文档: * Vue.use 用于安装 Vue.js 插件. * 如果插件是一个对象,必须提供 install 方法 * 如果插件是一个函数,它会被作为 install 方法 * install 方法调用时,会将 Vue 作为参数传入 Vue.component Vu…
vue & vue router & dynamic router https://router.vuejs.org/guide/essentials/dynamic-matching.html#reacting-to-params-changes old https://router.vuejs.org/api/#the-route-object const User = { template: '...', watch: { '$route' (to, from) { // react…
vue & vue router & match bug match bugs solution name must be router https://stackoverflow.com/a/44618867/5934465 OK import default module bug default !== {module name} xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!…
面试题要求如下所示 1.angular: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script src="angular-1.4.6.js"></script> <style> .del{ text-decor…
1.v-model 的原理 v-model 是一个语法糖,它即可以支持原生表单元素,也可以支持自定义组件.v-model 在内部为不同的输入元素使用不同的属性并抛出不同的事件. text 和 textarea 元素使用 value 属性和 input 事件 checkbox 和 radio 使用 checked 属性和 change 事件 select 字段将 value 作为 prop 并将 change 作为事件 自定义组件的时候的 v-model 默认会利用名为 value 的 prop…
1.你知道 nextTick 的原理吗? 用法:在下次 DOM 更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法,获取更新后的 DOM. 异步更新队列提到 DOM 的更新是异步执行的,只要数据发生变化,将会开启一个队列,并缓冲在同一事件循环中发生的所有数据变更.如果同一个 watcher 被多次触发,只会被推入到队列中一次. 简单来说,就是当数据发生变化时,视图不会立即更新,而是等到同一事件循环中所有数据变化完成之后,再统一更新视图. 2. 说说你对 v-clock 和 v-pre…
1. vue 组件里的定时器要怎么销毁? 当生命周期销毁后,并没有将组件中的计时器销毁,虽然页面上看不出来,但是如果在控制台打印的话,会发现计时器还在运行,所以要销毁计时器,避免代码一直执行 const timer = setInterval(() =>{ // 某些定时器操作 }, 500); // 通过$once来监听定时器,在beforeDestroy钩子可以被清除. this.$once('hook:beforeDestroy', () => { clearInterval(timer…
1.Vue.observable 你有了解过吗?说说看 vue2.6 发布一个新的 API,让一个对象可响应.Vue 内部会用它来处理 data 函数返回的对象.返回的对象可以直接用于渲染函数和计算属性内,并且会在发生改变时触发相应的更新:也可以作为最小化的跨组件状态存储器. 2.你知道 style 加 scoped 属性的用途和原理吗? 用途:防止全局同名 CSS 污染 原理:在标签加上 v-data-something 属性,再在选择器时加上对应[v-data-something],即 CS…
vue 生命周期有哪些 beforeCreate created beforeMount mounted beforeUpdate updated activated deactivated beforeDestroy destroyed errorCaptured 初始化请求数据在那个生命钩子里 // 最好放到 created 钩子里,在页面没有渲染之前 mounted // mounted 钩子,是在dom 渲染完成后调用的钩子,当需要dom 加载完成后执行的操作,需要放到 该钩子函数中 a…
vue中使用setInterval this.chatTimer = setInterval(() => { console.log(this.chatTimer); this.chatMsg(); }, 1000); 然后再组件销毁前进行清除 beforeDestroy() { clearInterval(this.chatTimer); this.chatTimer = null; } 根据 setInterval 返回的 id 打印来看,请除定时器并没有成功 但是这样不行,定时器在局部更新…
问题 vue 跳转外部链接问题,当跳转的时候会添加在当前地址后面 var url = 'www.baidu.com' //跳转1 window.localtion.href = url //跳转2 window.history.pushState(url); window.history.replaceState(url); //跳转3 window.open(url,"_blank"); //跳转4 var a = document.createElement("a&quo…
看本篇第二次复习内容即可. 还有一些 文档了这个如 https://www.cnblogs.com/iiiiiher/p/9508733.html https://www.cnblogs.com/iiiiiher/p/8973705.html vue复习项目 1.展示/搜索功能 tofixed 2.删除 filter() 3.全选反选 get checkAll的值, every set 各选项,forEach 4.总价格 reduce 5.选了多少本书 filter+length 6.选中后变灰…
spa单页开发及vue-router基础: https://www.cnblogs.com/iiiiiher/p/9034496.html url两种传参方式 query: $route.query http://localhost:63342/login?name=maotai&age=22 params: $route.params http://localhost:63342/login/maotai/22 引入router组件后, vm里注册router,会在vm实例上新增router属…
Vue.extend 返回的是一个 扩展实例构造器, 也就是一个预设了部分选项的Vue实例构造器 Var myExtend = Vue.extend({ //预设选项 })//返回一个 扩展实例构造器 //然后就可以这样来使用 var vE = new myExtend({ //其它选项 }) Vue.component 是用来全局注册组件的方法,其作用是将通过 Vue.extend 生成的扩展实例构造器注册(命名)为一个组件,可以简单理解为当在模板中遇到该组件名称作为标签的自定义元素时,会自动…
vue对象的生命周期 从vue的创建到销毁会经过一系列的事件,这是vue对象的生命周期. 创建期间的生命周期函数 <div id="box">    <h3 id="h3">{{msg}}</h3>   </div> var vm = new Vue({    el: "#box",    data: {        msg: "hello"    },    methods:…
简单的,我的首页,我的笔记项目 vue + vue-router + vuex View + VM(ViewModel) + Model (webpack) vue init webpack lint your code 选 n 注意:图片 ... npm run dev ---------- Vmain.vue Vnode.vue Vheader.vue npm install bootstrap@3 --save 导航条 样式调整: 修改a标签 我的首页 我的笔记 .. 拿路由的path 遍…
双向绑定实现($on $emit) 关于父子之间数据更新同步, 如果单向绑定, 子修改了,父却没有修改, 这种一般不符合规范 正常更新数据的套路是: 1. 子通知父更新数据 2. 子自动刷新获取最新数据 - 为实现这个,就会有发布订阅模式 1.特点: 一对多, 一个动作产生,引发一连串行为. 对应到数据结构是: {失恋:[cry,eat,shopping]} 2.如果失恋产生, 则会触发cry,eat shopping一系列动作执行. 这个思路就是发布订阅模式. 对应到vue,就是子去通知父亲刷…
preventDefault阻止默认行为和stopPropagation终止传递 event.preventDefault() 链接本来点了可以跳转, 如果注册preventDefault事件,则点了不能跳转 <body> <a href="http://w3cschool.cc/">Go to W3Cschool.cc</a> <p>The preventDefault() method will prevent the link ab…
条件渲染: v-if/template <div id="app"> <h1>v-show: display: none</h1> <div v-show="false">yes</div> <!--<div v-else>no</div>--> <h1>v-for: 判断1</h1> <div v-if="false"&…
一.vue - 介绍 vue的作者叫尤雨溪,中国人.自认为很牛逼的人物,也是我的崇拜之神. 关于他本人的认知,希望大家读一下这篇关于他的文章,或许你会对语言,技术,产生浓厚的兴趣.https://mp.weixin.qq.com/s?__biz=MzA5NzkwNDk3MQ==&mid=2650585523&idx=1&sn=432f53b79da522db26e7f3665d4c04cf&source=41#wechat_redirect 送给大家一句话,只有对框架,甚至…
在vue中,实例选项和钩子函数和{{}}表达式都是不需要手动调用就可以直接执行的. 一.生命周期图示 二.vue中各选项及钩子函数执行顺序 1.在页面首次加载执行顺序有如下: beforeCreate //在实例初始化之后.创建之前执行 created //实例创建后执行 beforeMount //在挂载开始之前调用 filters //挂载前加载过滤器 computed //计算属性 directives-bind //只调用一次,在指令第一次绑定到元素时调用 directives-inse…
语法糖 :是指在不影响功能的情况下,添加某种方法实现同样的效果,从而方便程序开发,简化代码是书写. Vue.js的v-bind和v-on指令都提供了语法糖,也可以说是缩写. 1.v-bind可以省略,直接写一个冒号“:”: <a v-bind:href="url">链接</a> <img v-bind:src="imgUrl"> <!--缩写为:--> <a :href="url">链接…
在vue的中文官网有这样的说明: HTML 中的特性名是大小写不敏感的,所以浏览器会把所有大写字符解释为小写字符.这意味着当你使用 DOM 中的模板时,camelCase (驼峰命名法) 的 prop 名需要使用其等价的 kebab-case (短横线分隔命名) 命名. 如果你使用字符串模板,那么这个限制就不存在了. 1.当组件中template及props等使用驼峰式命名,在html中对应的改成短横线命名方式. 2.当组件中template及props等使用字符串模板,在html中改成对应的小…
在模板中绑定表达式是非常便利的,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护.这就是为什么 Vue.js 将绑定表达式限制为一个表达式.如果需要多于一个表达式的逻辑,应当使用**计算属性**. 基础例子 ? 1 2 3 <div id="example">  a={{ a }}, b={{ b }} </div> ? 1 2 3 4 5 6 7 8 9 10 11 12 13 var vm = new V…
Vue.js 提供了一个方法 watch,它用于观察Vue实例上的数据变动.对应一个对象,键是观察表达式,值是对应回调.值也可以是方法名,或者是对象,包含选项. 在实例化时为每个键调用 $watch() ; <template> //观察数据为字符串或数组 <input v-model="example0"/> <input v-model="example1"/> /当单观察数据examples2为对象时,如果键值发生变化,为了…