来源 | https://segmentfault.com/a/1190000021936876

今天这篇文章给大家分享一些常见的前端vue面试题。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

对于前端来说,尽管css、html、js是主要的基础知识,但是随着技术的不断发展,出现了很多优秀的mv*框架以及小程序框架。因此,对于前端开发者而言,需要对一些前端框架进行熟练掌握。这篇文章我们一起来聊一聊VUE及全家桶的常见面试问题。

1、请讲述下VUE的MVVM的理解?

MVVM 是 Model-View-ViewModel的缩写,即将数据模型与数据表现层通过数据驱动进行分离,从而只需要关系数据模型的开发,而不需要考虑页面的表现,具体说来如下:

Model代表数据模型:主要用于定义数据和操作的业务逻辑。

View代表页面展示组件(即dom展现形式):负责将数据模型转化成UI 展现出来。

ViewModel为model和view之间的桥梁:监听模型数据的改变和控制视图行为、处理用户交互。通过双向数据绑定把 View 层和 Model 层连接了起来,而View 和 Model 之间的同步工作完全是自动的,无需人为干涉

在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。

2、VUE的生命周期及理解?

答:总共分为8个阶段,具体为:创建前/后,载入前/后,更新前/后,销毁前/后。

创建前/后: 在beforeCreated阶段:ue实例的挂载元素$el和数据对象data都为undefined,还未初始化;在created阶段,vue实例的数据对象data有了,$el还没有。

载入前/后:在beforeMount阶段,vue实例的$el和data都初始化了,但还是挂载之前为虚拟的dom节点,data.message还未替换;在mounted阶段,vue实例挂载完成,data.message成功渲染。

更新前/后:当data变化时,会触发beforeUpdate和updated方法。

销毁前/后:在执行destroy方法后,对data的改变不会再触发周期函数,说明此时vue实例已经解除了事件监听以及和dom的绑定,但是dom结构依然存在。

具体讲解及应用

beforeCreate:在new一个vue实例后,只有一些默认的生命周期钩子和默认事件,其他的东西都还没创建,data和methods中的数据都还没有初始化。不能在这个阶段使用data中的数据和methods中的方法

create:data 和 methods都已经被初始化好了,如果要调用 methods 中的方法,或者操作 data 中的数据,最早可以在这个阶段中操作

beforeMount:执行到这个钩子的时候,在内存中已经编译好了模板了,但是还没有挂载到页面中,此时,页面还是旧的,不能直接操作页面的dom和获取dom对象

mounted:执行到这个钩子的时候,就表示Vue实例已经初始化完成了。此时组件脱离了创建阶段,进入到了运行阶段。如果我们想要通过插件操作页面上的DOM节点,最早可以在和这个阶段中进行

beforeUpdate: 当执行这个钩子时,页面中的显示的数据还是旧的,data中的数据是更新后的,页面还没有和最新的数据保持同步

updated:页面显示的数据和data中的数据已经保持同步了,都是最新的

beforeDestory:Vue实例从运行阶段进入到了销毁阶段,这个时候上所有的data和 methods、指令、过滤器 ……都是处于可用状态。还没有真正被销毁

destroyed: 这个时候上所有的data和methods、指令、过滤器 ……都是处于不可用状态。组件已经被销毁了。

3、v-if和v-show的区别?

共同点:都能控制元素的显示和隐藏;

不同点:实现本质方法不同,v-show本质就是通过控制css中的display设置为none,控制隐藏,只会编译一次;v-if是动态的向DOM树内添加或者删除DOM元素,若初始值为false,就不会编译了。而且v-if不停的销毁和创建比较消耗性能。

如果要频繁切换某节点,使用v-show(切换开销比较小,初始开销较大)。如果不需要频繁切换某节点使用v-if(初始渲染开销较小,切换开销比较大)。

4、v-if和v-for同时使用在同一个标签上的表现?

当v-if与v-for一起使用时,v-for具有比v-if更高的优先级,这意味着v-if将分别重复运行于每个v-for循环中。
所以,不推荐v-if和v-for同时使用。如果v-if和v-for一起用的话,vue中的的会自动提示v-if应该放到外层去

5、v-for中的key的理解?

需要使用key来给每个节点做一个唯一标识,Diff算法就可以正确的识别此节点。主要是为了高效的更新虚拟DOM。

6、vue中transition的理解?

1)定义transition时需要设置对应的name,具体语法为:<transition name=“fade”>需要动画的内容或者组件或者页面</transition>

2)过渡动画主要包含6个class,分别为:

  • v-enter:定义元素进入过渡的初始状态,在元素插入前生效,插入后一帧删除,

  • v-enter-active:在元素插入前生效,在动画完成后删除,

  • v-enter-to:在元素插入后一帧生效,在动画完成后删除,

  • v-leave:离开过渡的初始状态,在元素离开时生效,下一帧删除

  • v-leave-active:在离开过渡时生效,在动画完成后删除

  • v-leave-to:离开过渡结束状态,在离开过渡下一帧生效,在动画完成后删除

⚠️:v会转化为对应的transition的name值

3)当然我们也可以自定义这六个class 可以直接在transition中设置对应的属性为对应的class名称,属性有:enter-class,enter-active-class,enter-to-class,leave-class,leave-active-class,leave-to-class

4)在同时使用过渡和css动画的时候 可以设置type属性来制定vue内部机制监听transitioned或者animationed事件来完成过渡还是动画的监听

5)如果需要设置对应的过渡时间,可以直接设置属性duration,可以直接接收一个数字(单位为毫秒),也可以接收一个对象{enter:1000,leave:300}

6)也可以设置过渡的钩子函数,具体有:before-enter,enter,after-enter,enter-cancelled,before-leave,leave,after-leave,leave-cancelled

7、vue的自定义指令?

自定义指令分为全局指令和组件指令,其中全局指令需要使用directive来进行定义,组件指令需要使用directives来进行定义,具体定义方法同过滤器filter或者其他生命周期,具体使用方法如下:

全局自定义指令 directive(name,{}),其中name表示定义的指令名称(定义指令的时候不需要带v-,但是在调用的时候需要哦带v-),第二个参数是一个对象,对象中包括五个自定义组件的钩子函数,具体包括:

  1. bind函数:只调用一次,指令第一次绑定在元素上调用,即初始化调用一次,

  2. inserted函数:并绑定元素插入父级元素(即new vue中el绑定的元素)时调用(此时父级元素不一定转化为了dom)

  3. update函数:在元素发生更新时就会调用,可以通过比较新旧的值来进行逻辑处理

  4. componentUpdated函数:元素更新完成后触发一次

  5. unbind函数:在元素所在的模板删除的时候就触发一次

钩子函数对应的参数el,binding,vnode,oldnode,具体参数讲解如下:

a、el指令所绑定的元素 可以直接操组dom元素

b、binding一个对象,具体包括以下属性:

  1. 1)name:定义的指令名称 不包括v-

  2. 2)value:指令的绑定值,如果绑定的是一个计算式,value为对应计算结果

  3. 3)oldvalue:指令绑定元素的前一个值,只对update和componentUpdated钩子函数有值

  4. 4)expression:指令绑定的原始值 不对值进行任何加工

  5. 5)arg:传递给指令的参数

  6. 6)modifiers:指令修饰符,如:v-focus.show.async 则接收的modifiers为{show:true,async:true}

c、vnode:vue编译生成的虚拟dom

d、oldVnode:上一个vnode,只在update和componentUpdated钩子函数中有效

⚠️:如果不需要其他钩子函数,可以直接简写为:directive(“focus”,function(el,binding){})

8、vue的实现原理?

vue.js 是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

具体步骤:

第一步:需要observe的数据对象进行递归遍历,包括子属性对象的属性,都加上setter和getter

这样的话,给这个对象的某个值赋值,就会触发setter,那么就能监听到了数据变化

第二步:compile解析模板指令,将模板中的变量替换成数据,然后初始化渲染页面视图,并将每个指令对应的节点绑定更新函数,添加监听数据的订阅者,一旦数据有变动,收到通知,更新视图

第三步:Watcher订阅者是Observer和Compile之间通信的桥梁,主要做的事情是:

  1. 1、在自身实例化时往属性订阅器(dep)里面添加自己

  2. 2、自身必须有一个update()方法

  3. 3、待属性变动dep.notice()通知时,能调用自身的update()方法,并触发Compile中绑定的回调,则功成身退。

第四步:MVVM作为数据绑定的入口,整合Observer、Compile和Watcher三者,通过Observer来监听自己的model数据变化,通过Compile来解析编译模板指令,最终利用Watcher搭起Observer和Compile之间的通信桥梁,达到数据变化 -> 视图更新;视图交互变化(input) -> 数据model变更的双向绑定效果。

9、vue的diff算法理解?

1)diff算法的作用:用来修改dom的一小段,不会引起dom树的重绘

2)diff算法的实现原理:diff算法将virtual dom的某个节点数据改变后生成的新的vnode与旧节点进行比较,并替换为新的节点,具体过程就是调用patch方法,比较新旧节点,一边比较一边给真实的dom打补丁进行替换

3)具体过程详解:

a、在采用diff算法进行新旧节点进行比较的时候,比较是按照在同级进行比较的,不会进行跨级比较:

b、当数据发生改变的时候,set方法会调用dep.notify通知所有的订阅者watcher,订阅者会调用patch函数给响应的dom进行打补丁,从而更新真实的视图

c、patch函数接受两个参数,第一个是旧节点,第二个是新节点,首先判断两个节点是否值得比较,值得比较则执行patchVnode函数,不值得比较则直接将旧节点替换为新节点。如果两个节点一样就直接检查对应的子节点,如果子节点不一样就说明整个子节点全部改变不再往下对比直接进行新旧节点的整体替换

d、patchVnode函数:找到真实的dom元素;判断新旧节点是否指向同一个对象,如果是就直接返回;如果新旧节点都有文本节点,那么直接将新的文本节点赋值给dom元素并且更新旧的节点为新的节点;如果旧节点有子节点而新节点没有,则直接删除dom元素中的子节点;如果旧节点没有子节点,新节点有子节点,那么直接将新节点中的子节点更新到dom中;如果两者都有子节点,那么继续调用函数updateChildren

e、updateChildren函数:抽离出新旧节点的所有子节点,并且设置新旧节点的开始指针和结束指针,然后进行两辆比较,从而更新dom(调整顺序或者插入新的内容 结束后删掉多余的内容)

10、vue组件的通信(父子组件和非父子组件)?

父子组件通信

传递参数可以使用props,传递函数可以直接在调用子组件的时候传递自定义事件,并使用$emit来调用,例如:

 
  1. //父组件

  2. <div classs="parent">

  3. <child @getinfo="myname" :userinfo="usermessage"></child>

  4. <div>

  5. export default {

  6. data(){

  7. return {

  8. usermessage:'我是父亲'

  9. }

  10. },

  11. methods:{

  12. myname(name){

  13. console.log('我的名字叫'+name)

  14. }

  15. }

  16. }

  17. //子组件

  18. <div classs="child">

  19. 来源:{{userinfo}}

  20. <button @click="getname">显示我的名字</button>

  21. <div>

  22. export default {

  23. props:['userinfo'],

  24. methods:{

  25. getname(){

  26. this.$emit('getinfo','bilibili')

  27. }

  28. }

  29. }

兄弟组件通信

首先建立一个vue实例空白页(js文件)

 
  1. import Vue from 'vue'

  2. export default new Vue()

组件a(数据发送方)通过使用 $emit 自定义事件把数据带过去

 
  1. <template>

  2. <div>

  3. <span>A组件->{{msg}}</span>

  4. <input type="button" value="把a组件数据传给b" @click ="send">

  5. </div>

  6. </template>

  7. <script>

  8. import vmson from "../../../util/emptyVue"

  9. export default {

  10. data(){

  11. return {

  12. msg:{

  13. a:'111',

  14. b:'222'

  15. }

  16. }

  17. },

  18. methods:{

  19. send:function(){

  20. vmson.$emit("aevent",this.msg)

  21. }

  22. }

  23. }

  24. </script>

组件b(数据接收方)使用而通过 $on监听自定义事件的callback接收数据

 
  1. <template>

  2. <div>

  3. <span>b组件,a传的的数据为->{{msg}}</span>

  4. </div>

  5. </template>

  6. <script>

  7. import vmson from "../../../util/emptyVue"

  8. export default {

  9. data(){

  10. return {

  11. msg:""

  12. }

  13. },

  14. mounted(){

  15. vmson.$on("aevent",(val)=>{//监听事件aevent,回调函数要使用箭头函数;

  16. console.log(val);//打印结果:我是a组件的数据

  17. this.msg = val;

  18. })

  19. }

  20. }

  21. </script>

11、vue的路由模式及区别?

hash模式在浏览器中符号“#”,#以及#后面的字符称之为hash,用window.location.hash读取;

特点:hash虽然在URL中,但不被包括在HTTP请求中;用来指导浏览器动作,对服务端安全无用,hash不会重加载页面。

history模式:history采用HTML5的新特性;

提供了两个新方法:pushState(),replaceState()可以对浏览器历史记录栈进行修改,以及popState事件的监听到状态变更。history 模式下,前端的 URL必须和实际向后端发起请求的URL一致,否则会报404错误

12、vue与react、angular的比较?

Vue

轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十kb;
简单易学:国人开发,中文文档,不存在语言障碍 ,易于理解和学习;
双向数据绑定:保留了angular的特点,在数据操作方面更为简单;
组件化:保留了react的优点,实现了html的封装和重用,在构建单页面应用方面有着独特的优势;

视图,数据,结构分离:使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作;
虚拟DOM:dom操作是非常耗费性能的, 不再使用原生的dom操作节点,极大解放dom操作,但具体操作的还是dom不过是换了另一种方式;
运行速度更快:相比较与react而言,同样是操作虚拟dom,就性能而言,vue存在很大的优势。

React

相同点:
React采用特殊的JSX语法,Vue.js在组件开发中也推崇编写.vue特殊文件格式,对文件内容都有一些约定,两者都需要编译后使用;中心思想相同:一切都是组件,组件实例之间可以嵌套;都提供合理的钩子函数,可以让开发者定制化地去处理需求;都不内置列数AJAX,Route等功能到核心包,而是以插件的方式加载;在组件开发中都支持mixins的特性。

不同点:
React采用的Virtual DOM会对渲染出来的结果做脏检查;Vue.js在模板中提供了指令,过滤器等,可以非常方便,快捷地操作Virtual DOM。

Angular

相同点:
都支持指令:内置指令和自定义指令;都支持过滤器:内置过滤器和自定义过滤器;都支持双向数据绑定;都不支持低端浏览器。

不同点:
AngularJS的学习成本高,比如增加了Dependency Injection特性,而Vue.js本身提供的API都比较简单、直观;在性能上,AngularJS依赖对数据做脏检查,所以Watcher越多越慢;Vue.js使用基于依赖追踪的观察并且使用异步队列更新,所有的数据都是独立触发的。

13、vue-roter的钩子函数?

vue路由钩子大致可以分为三类:

全局钩子

主要包括beforeEach和aftrEach,beforeEach函数有三个参数:
to:router即将进入的路由对象
from:当前导航即将离开的路由
next:Function,进行管道中的一个钩子,如果执行完了,则导航的状态就是 confirmed (确认的);否则为false,终止导航。
afterEach函数不用传next()函数这类钩子主要作用于全局,一般用来判断权限,以及以及页面丢失时候需要执行的操作,例如:

 
  1. //使用钩子函数对路由进行权限跳转

  2. router.beforeEach((to, from, next) => {

  3. const role = localStorage.getItem('ms_username');

  4. if(!role && to.path !== '/login'){

  5. next('/login');

  6. }else if(to.meta.permission){

  7. // 如果是管理员权限则可进入,这里只是简单的模拟管理员权限而已

  8. role === 'admin' ? next() : next('/403');

  9. }else{

  10. // 简单的判断IE10及以下不进入富文本编辑器,该组件不兼容

  11. if(navigator.userAgent.indexOf('MSIE') > -1 && to.path === '/editor'){

  12. Vue.prototype.$alert('vue-quill-editor组件不兼容IE10及以下浏览器,

  13. 请使用更高版本的浏览器查看', '浏览器不兼容通知', {

  14. confirmButtonText: '确定'

  15. });

  16. }else{

  17. next();

  18. }

  19. }

  20. })

2)单个路由里面的钩子

主要用于写某个指定路由跳转时需要执行的逻辑

3)组件路由

主要包括beforeRouteEnter和beforeRouteUpdate,beforeRouteLeave,这几个钩子都是写在组件里面也可以传三个参数(to,from,next),作用与前面类似.

 
  1. beforeRouteEnter(to, from, next) {

  2. next(vm => {

  3. if (

  4. vm.$route.meta.hasOwnProperty('auth_key') &&

  5. vm.$route.meta.auth_key != ''

  6. ) {

  7. if (!vm.hasPermission(vm.$route.meta.auth_key)) {

  8. vm.$router.replace('/admin/noPermission')

  9. }

  10. }

  11. })

  12. }

14、vuex的使用?

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化,具体包括:

1)state:Vuex 使用单一状态树,即每个应用将仅仅包含一个store 实例,但单一状态树和模块化并不冲突。存放的数据状态,不可以直接修改里面的数据。

2)getter:state的计算属性,类似vue的计算属性,主要用来过滤一些数据。

3)action:actions可以理解为通过将mutations里面处里数据的方法变成可异步的处理数据的方法,简单的说就是异步操作数据。view 层通过 store.dispath 来分发 action。可以异步函数调用

4)mutation:mutations定义的方法动态修改Vuex 的 store 中的状态或数据

5)modules:项目特别复杂的时候,可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰,方便管理。

15、vue的filter的理解与用法?

1)全局过滤器必须写在vue实例创建之前

 
  1. Vue.filter('testfilter', function (value,text) { // 返回处理后的值

  2. return value+text

  3. })

2)局部写法:在组件实例对象里挂载。

 
  1. filters: {

  2. changemsg:(val,text)\=>{ return val + text

  3. }

  4.     }

3)使用方式:只能使用在{{}}和:v-bind中,定义时第一个参数固定为预处理的数,后面的数为调用时传入的参数,调用时参数第一个对应定义时第二个参数,依次往后类推

 
  1. <h3 :title="test|changemsg(1234)">{{test|changemsg(4567)}}</h3>

  2. //多个过滤器也可以串行使用

  3. <h2>{{name|filter1|filter2|filter3}}</h2>

4)vue-cli项目中注册多个全局过滤器写法:

 
  1. //1.创建一个单独的文件定义并暴露函数对象

  2. const filter1 = function (val) {

  3. return val + '--1'

  4. }

  5. const filter2 = function (val) {

  6. return val + '--2'

  7. }

  8. const filter3 = function (val) {

  9. return val + '--3'

  10. }

  11. export default {

  12. filter1,

  13. filter2,

  14. filter3

  15. }

  16. //2.导入main.js(在vue实例之前)

  17. import filters from './filter/filter.js'

  18. //3.循环注册过滤器

  19. Object.keys(filters).forEach(key=>{

  20. Vue.filter(key,filters[key])

  21. })

16、vue的keep-alive的理解?

keep-alive 是Vue内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染,页面第一次进入,钩子的触发顺序:created-> mounted-> activated,退出时触发 deactivated ,当再次进入(前进或者后退)时,只触发activated事件挂载的方法等,只执行一次的放在 mounted 中;组件每次进去执行的方法放在 activated 中;其有几个属性如下:

1)include - 字符串或正则表达式,只有名称匹配的组件会被缓存
2)exclude - 字符串或正则表达式,任何名称匹配的组件都不会被缓存
3)include 和 exclude 的属性允许组件有条件地缓存。二者都可以用“,”分隔字符串、正则表达式、数组。当使用正则或者是数组时,要记得使用v-bind 。

 
  1. <!-- 逗号分隔字符串,只有组件a与b被缓存。-->

  2. <keep-alive include="a,b">

  3. <component></component>

  4. </keep-alive>

  5. <!-- 正则表达式 (需要使用 v-bind,符合匹配规则的都会被缓存) -->

  6. <keep-alive :include="/a|b/">

  7. <component></component>

  8. </keep-alive>

  9. <!-- Array (需要使用 v-bind,被包含的都会被缓存) -->

  10. <keep-alive :include="['a', 'b']">

  11. <component></component>

  12. </keep-alive>

17、如何封装一个vue组件?

根据业务需求,建立组件的模板,先把架子搭起来,写写样式,考虑好组件的基本逻辑。

准备好组件的数据输入。即分析好逻辑,定好 props 里面的数据、类型。
准备好组件的数据输出。即根据组件逻辑,做好要暴露出来的方法。
封装完毕了,直接调用即可

18、vue首屏白屏如何解决?

1)路由懒加载
2)vue-cli开启打包压缩 和后台配合 gzip访问
3)进行cdn加速
4)开启vue服务渲染模式
5)用webpack的externals属性把不需要打包的库文件分离出去,减少打包后文件的大小
6)在生产环境中删除掉不必要的console.log

 
  1. plugins: [

  2. new webpack.optimize.UglifyJsPlugin({ //添加-删除console.log

  3. compress: {

  4. warnings: false,

  5. drop_debugger: true,

  6. drop_console: true

  7. },

  8. sourceMap: true

  9. }),

7)开启nginx的gzip ,在nginx.conf配置文件中配置

 
  1. http { //在 http中配置如下代码,

  2. gzip on;

  3. gzip_disable "msie6";

  4. gzip_vary on;

  5. gzip_proxied any;

  6. gzip_comp_level 8; #压缩级别

  7. gzip_buffers 16 8k;

  8. #gzip_http_version 1.1;

  9. gzip_min_length 100; #不压缩临界值

  10. gzip_types text/plain application/javascript application/x-javascript text/css

  11. application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;

  12. }

8)添加loading效果,给用户一种进度感受

19、vue中的v-cloak的理解?

使用 v-cloak 指令设置样式,这些样式会在 Vue 实例编译结束时,从绑定的 HTML 元素上被移除。

一般用于解决网页闪屏的问题,在对一个的标签中使用v-cloak,然后在样式中设置[v-cloak]样式,[v-cloak]需写在 link 引入的css中,或者写一个内联css样式,写在import引入的css中不起作用。

20、vue中template编译的理解?

答:就是先转化成AST树,再得到的render函数返回VNode(Vue的虚拟DOM节点),具体为:

首先,通过compile编译器把template编译成AST语法树(abstract syntax tree 即 源代码的抽象语法结构的树状表现形式),compile是createCompiler的返回值,createCompiler是用以创建编译器的。

另外compile还负责合并option。
然后,AST会经过generate(将AST语法树转化成render funtion字符串的过程)得到render函数,render的返回值是VNode,VNode是Vue的虚拟DOM节点,里面有(标签名、子节点、文本等等)

21、v-model的理解?

答:v-model用于表单数据的双向绑定,其实它就是一个语法糖,这个背后就做了两个操作:
1)v-bind绑定一个value属性;
2)v-on指令给当前元素绑定input事件

22、computed和watch的用法和区别?

computed

1)变量不在 data中定义,而是定义在computed中,写法跟写方法一样,有返回值。函数名直接在页面模板中渲染,不加小括号 。
2)根据传入的变量的变化 进行结果的更新。
3)计算属性基于响应式依赖进行缓存。如其中的任意一个值未发生变化,它调用的就是上一次计算缓存的数据,因此提高了程序的性能。而methods中每调用一次就会重新计算一次,为了进行不必要的资源消耗,选择用计算属性。

watch

1)计算属性的时候 初始化的时候就可以被监听到并且计算 但是watch是发生改变的时候才会触发。
2)当有一些数据需要随着其它数据变动而变动时,或者当需要在数据变化时执行异步或开销较大的操作时,使用 watch。

总结:

1)计算属性变量在computed中定义,属性监听在data中定义。
2)计算属性是声明式的描述一个值依赖了其他值,依赖的值改变后重新计算结果更新DOM。属性监听的是定义的变量,当定义的值发生变化时,执行相对应的函数。

23、$nextTick的使用?

答:在vue中理解修改数据后,对应的dom需要一定的时间进行更新,因此为了能够准确的后去更新后的dom,可以采用延迟回调的方法进行更新dom的获取,所以出现了$nextTick来进行延迟回调。即:在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。

24、data为什么是一个函数?

答:这是有JavaScript的特性所导致,在component中,data必须以函数的形式存在,不可以是对象。
组建中的data写成一个函数,数据以函数返回值的形式定义,这样每次复用组件的时候,都会返回一份新的data,相当于每个组件实例都有自己私有的数据空间,它们只负责各自维护的数据,不会造成混乱。而单纯的写成对象形式,就是所有的组件实例共用了一个data,这样改一个全都改了。

25、vue单页面和传统的多页面区别?

单页面应用(SPA)

通俗一点说就是指只有一个主页面的应用,浏览器一开始要加载所有必须的 html, js, css。所有的页面内容都包含在这个所谓的主页面中。但在写的时候,还是会分开写(页面片段),然后在交互的时候由路由程序动态载入,单页面的页面跳转,仅刷新局部资源。多应用于pc端。

多页面(MPA)

指一个应用中有多个页面,页面跳转时是整页刷新

单页面的优点:

用户体验好,快,内容的改变不需要重新加载整个页面,基于这一点spa对服务器压力较小;前后端分离;页面效果会比较炫酷(比如切换页面内容时的专场动画)。

单页面缺点:

不利于seo;导航不可用,如果一定要导航需要自行实现前进、后退。(由于是单页面不能用浏览器的前进后退功能,所以需要自己建立堆栈管理);初次加载时耗时多;页面复杂度提高很多。

26、vue常用的修饰符?

.stop:等同于JavaScript中的event.stopPropagation(),防止事件冒泡;
.prevent:等同于JavaScript中的event.preventDefault(),防止执行预设的行为(如果事件可取消,则取消该事件,而不停止事件的进一步传播);
.capture:与事件冒泡的方向相反,事件捕获由外到内;
.self:只会触发自己范围内的事件,不包含子元素;
.once:只会触发一次。

27、vue更新数组时触发视图更新的方法?

答:push();pop();shift();unshift();splice();sort();reverse()

28、route和router的区别?

$router

router是VueRouter的一个对象,通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象,这个对象中是一个全局的对象,他包含了所有的路由包含了许多关键的对象和属性,常见的有:
1)push:向 history 栈添加一个新的记录,当我们点击浏览器的返回按钮时可以看到之前的页面

 
  1. // 字符串

  2. this.$router.push('home')

  3. // 对象

  4. this.$router.push({ path: 'home' })

  5. // 命名的路由

  6. this.$router.push({ name: 'user', params: { userId: 123 }})

  7. // 带查询参数,变成 /register?plan=123

  8. this.$router.push({ path: 'register', query: { plan: '123' }})

2)go:页面路由跳转 前进或者后退

 
  1. // 页面路由跳转 前进或者后退

  2. this.$router.go(-1) // 后退

3)replace:push方法会向 history 栈添加一个新的记录,而replace方法是替换当前的页面,不会向 history 栈添加一个新的记录

$route

&dollar;route对象表示当前的路由信息,包含了当前URL解析得到的信息。包含当前的路径、参数、query对象等。
1)&dollar;route.path:字符串,对应当前路由的路径,总是解析为绝对路径,如 "/foo/bar"。
2)&dollar;route.params:一个 key/value 对象,包含了 动态片段 和 全匹配片段,如果没有路由参数,就是一个空对象。
3)&dollar;route.query:一个 key/value 对象,表示 URL 查询参数。例如,对于路径 /foo?user=1,则有 $route.query.user == 1,如果没有查询参数,则是个空对象。
4)&dollar;route.hash:当前路由的 hash 值 (不带#) ,如果没有 hash 值,则为空字符串。
5.&dollar;route.fullPath:完成解析后的 URL,包含查询参数和 hash 的完整路径。
6&dollar;route.matched:数组,包含当前匹配的路径中所包含的所有片段所对应的配置参数对象。
7.&dollar;route.name:当前路径名字
8.&dollar;route.meta:路由元信息

29、vue-router实现懒加载的方式?

vue异步组件

vue异步组件技术 ==== 异步加载
vue-router配置路由 , 使用vue的异步组件技术 , 可以实现按需加载 。但是,这种情况下一个组件生成一个js文件

 
  1. /* vue异步组件技术 */

  2. {

  3. path: '/home',

  4. name: 'home',

  5. component: resolve => require(['@/components/home'],resolve)

  6. },{

  7. path: '/index',

  8. name: 'Index',

  9. component: resolve => require(['@/components/index'],resolve)

  10. },{

  11. path: '/about',

  12. name: 'about',

  13. component: resolve => require(['@/components/about'],resolve)

  14. }

es提案的import()

路由懒加载(使用import)

 
  1. // 下面2行代码,没有指定webpackChunkName,每个组件打包成一个js文件。

  2. /* const Home = () => import('@/components/home')

  3. const Index = () => import('@/components/index')

  4. const About = () => import('@/components/about') */

  5. // 下面2行代码,指定了相同的webpackChunkName,会合并打包成一个js文件。把组件按组分块

  6. const Home = () => import(/* webpackChunkName: 'ImportFuncDemo' */ '@/components/home')

  7. const Index = () => import(/* webpackChunkName: 'ImportFuncDemo' */ '@/components/index')

  8. const About = () => import(/* webpackChunkName: 'ImportFuncDemo' */ '@/components/about')

 
  1. {

  2. path: '/about',

  3. component: About

  4. }, {

  5. path: '/index',

  6. component: Index

  7. }, {

  8. path: '/home',

  9. component: Home

  10. }

webpack的require,ensure()

vue-router配置路由,使用webpack的require.ensure技术,也可以实现按需加载。这种情况下,多个路由指定相同的chunkName,会合并打包成一个js文件。

 
  1. /* 组件懒加载方案三: webpack提供的require.ensure() */

  2. {

  3. path: '/home',

  4. name: 'home',

  5. component: r => require.ensure([], () => r(require('@/components/home')), 'demo')

  6. }, {

  7. path: '/index',

  8. name: 'Index',

  9. component: r => require.ensure([], () => r(require('@/components/index')), 'demo')

  10. }, {

  11. path: '/about',

  12. name: 'about',

  13. component: r => require.ensure([], () => r(require('@/components/about')), 'demo-01')

  14. }

30、delete和Vue.delete删除数组的区别?

答:delete只是被删除的元素变成了 empty/undefined 其他的元素的键值还是不变。Vue.delete 直接删除了数组 改变了数组的键值。

31、路由跳转和location.href的区别?

使用location.href='/url'来跳转,简单方便,但是刷新了页面;
使用路由方式跳转,无刷新页面,静态跳转;

32、vue的solt的用法?

在子组件内使用特殊的<slot>元素就可以为这个子组件开启一个slot(插槽),在父组件模板里,插入在子组件标签内的所有内容将替代子组件的<slot> 标签及它的内容。

简单说来就是:在子组件内部用 <slot></slot>标签占位,当在父组件中使用子组件的时候,我们可以在子组件中插入内容,而这些插入的内容则会替换 <slot></slot>标签的位置。

当然:单个solt的时候可以不对solt进行命名,如果存在多个 则一个可以不命名,其他必须命名,在调用的时候指定名称的对应替换slot,没有指定的则直接默认无名称的solt

33、$emit 、$on 、$once 、$off理解?

$emit

触发当前实例上的自定义事件(并将附加参数都传给监听器回调)

$on

监听实例上自定义事件并调用回调函数,监听emit触发的事件

$once

监听一个自定义事件,但是只触发一次,在第一次触发之后移除监听器。

$off

用来移除自定义事件监听器。如果没有提供参数,则移除所有的事件监听器;如果只提供了事件,则移除该事件所有的监听器;如果同时提供了事件与回调,则只移除这个回调的监听器。

这四个方法的实现原理是:通过对vue实例挂载,然后分别使用对象存储数组对应的函数事件,其中emit通过循环查找存储的数组中对应的函数进行调用,once只匹配一次就就结束,on是将对应的函数存储到数组中,off是删除数组中指定的元素或者所有的元素事件。具体可以参考文章:VUE emit实现

34、$root、$refs、$parent的使用?

$root

可以用来获取vue的根实例,比如在简单的项目中将公共数据放再vue根实例上(可以理解为一个全局 store ),因此可以代替vuex实现状态管理;

$refs

在子组件上使用ref特性后,this.属性可以直接访问该子组件。可以代替事件emit 和$on 的作用。

使用方式是通过ref特性为这个子组件赋予一个ID引用,再通过this.$refs.testId获取指定元素。

注意:$refs只会在组件渲染完成之后生效,并且它们不是响应式的。这仅作为一个用于直接操作子组件的“逃生舱”——你应该避免在模板或计算属性中访问$refs。

$parent

$parent属性可以用来从一个子组件访问父组件的实例,可以替代将数据以 prop 的方式传入子组件的方式;当变更父级组件的数据的时候,容易造成调试和理解难度增加;

35、vue开发遇到的问题?

1)样式污染

答:在编写样式中,如果需要防止样式的污染,可以使用两种方式,一种是在组件的根元素上增加一个唯一的class或者id,然后在编写组件的样式时候在根元素对应的class或者id下进行编写;另一种方式是在对应的style上添加scoped关键字,不过该关键字对引用的框架UI无效

2)router-link在安卓上不起作用

答:不起作用的原因是因为转码编译的问题,可以使用babel来进行处理,安装babel polypill插件解决

3)初始化页面出现闪屏乱码的问题

答:这是因为vue还没有解析的情况下会容易出现花屏现象,看到类似于{{data}}的字样,可以使用两种方式来进行处理,一种为:在设置index.html的根元素的元素的样式为display:none,然后在mounted中的$nextTick函数中display:block展示;另一种方式是使用vue的内置指令:v-cloak,并且在css中设置样式

 
  1. [v-cloak] {

  2. display: none;

  3. }

4)router-link上事件无效解决方法

答:使用@click.native来进行调用原生的js事件。原因:router-link会阻止click事件,.native指直接监听一个原生事件。

本文完〜 

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 最新的Vue面试题大全含源码级回答,吊打面试官系列

    前言 金三银四快过去了&#xff0c;抓紧这段时间再复习下vue&#xff0c;为了在面试官前突出自己&#xff0c;在回答的时候能带上源码的实现和理解往往更容易成功。这里整理了vue常见的面试题和相应的源码及解读&#xff0c;希望对大家有所帮助。篇幅较长&#xff0c;分为vue2…...

    2024/4/27 13:42:11
  2. VS2015+AngularJS+Ionic开发

    安装VS2015 Update2的过程是非常曲折的。还好经过不懈的努力&#xff0c;终于折腾成功了。 如果开发Cordova项目的话&#xff0c;推荐大家用一下ionic这个框架&#xff0c;效果还不错。对于Cordova、PhoneGap、ionic、AngularJS这些框架或库的关系&#xff0c;我个人理解是这样…...

    2024/4/21 4:59:03
  3. Vue~~

    链接: https://pan.baidu.com/s/1vF2m3nXzjiacwCWCH8r9pg 提取码: c68b ---------错误--------- 安装vue插件 没有Vue Component 安装成功后可以右键看看有没有Vue Component 解决 点击 file 打开设置 settings&#xff0c;展开 Editor 找到 file and code templates找到 …...

    2024/4/27 14:46:51
  4. 工作记录笔记

    面试题&#xff1a;http://www.importnew.com/22056.htmlhttp://marlonyao.iteye.com/blog/344876http://cache.baiducontent.com/c?m9f65cb4a8c8507ed4fece763104687270e54f72864879b5468d4e419ce3b46454762e0b82c3510738983233915ea141cbcff2102471453b08cb98b5daec885295f9…...

    2024/4/21 4:59:01
  5. 杂乱手札 - LINUX, Apache, Mysql, PHP, HTML-JS-CSS, Redis 2014 to 2016

    很乱&#xff0c;很乱&#xff0c;very乱...... 一分耕耘一分收获。 Begin SSH 基本ssh登录 ssh usernameIP // ssh rudon***.***.***.*** 无密码SSH登录 约定&#xff1a; 电脑A上的Ua用户&#xff0c;想要免密码ssh登录到远程的服务器B上的Ub用户 概括&#xff1a; 本地…...

    2024/4/21 4:59:00
  6. Node.js前篇

    1.Node.js介绍 1.1 node.js是什么 &#xff08;1&#xff09; Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js不是一门语言Node.js不是库、不是框架Node.js是一个Javascript运行时环境简单来讲就是Node.js可以解析和执行JavaScript代码以…...

    2024/4/21 4:59:00
  7. nodejs笔记

    目录 # Node.js 第1天 # Node.js 第2天课堂笔记 # Node.js 第3天课堂笔记 # Node.js 第4天课堂笔记 # Node.js 第5天课堂笔记 # Node.js 第6天课堂笔记 # Node.js 第7天课堂笔记 # Node.js 第1天 ## 上午总结 - Node.js 是什么 JavaScript 运行时 既不是语言&…...

    2024/4/21 4:58:58
  8. 常见的前端vue面试题

    常见的前端vue面试题 1、请讲述下VUE的MVVM的理解&#xff1f; MVVM 是 Model-View-ViewModel的缩写&#xff0c;即将数据模型与数据表现层通过数据驱动进行分离&#xff0c;从而只需要关系数据模型的开发&#xff0c;而不需要考虑页面的表现&#xff0c;具体说来如下&#x…...

    2024/4/21 4:58:57
  9. 那些年我准备的前端面试题

    commonJS相关&#xff1a; (1)在commonJS规范中&#xff0c;require,exports,module&#xff0c;__filename,__dirname都是通过动态编译后添加到模块的头部的&#xff0c;这样就不存在全局变量污染的问题 但是他们传入的require,exports,module都是一个空对象。而且必须弄清楚…...

    2024/4/21 4:58:57
  10. ajax详解

    一.前置知识 postman 1.上网的本质 通过网络给服务器要数据或把数据扔给服务器。 2.什么是URL URL&#xff08;全称是UniformResourceLocator&#xff09;中文叫统一资源定位符&#xff0c;用于标识互联网上每个资源的唯一存放位置。浏览器只有通过URL地址&#xff0c;才能…...

    2024/4/21 4:58:56
  11. Java面试宝典Beta5.0

    pdf下载地址&#xff1a;Java面试宝典 第一章内容介绍 20 第二章JavaSE基础 21 一、Java面向对象 21 1. 面向对象都有哪些特性以及你对这些特性的理解 21 2. 访问权限修饰符public、private、protected, 以及不写&#xff08;默认&#xff09;时的区别(2017-11-12) 22 3.…...

    2024/4/21 4:58:54
  12. es2015学习笔记经典入门教程

    es2015也称为ES6&#xff0c;是JavaScript语言的下一代标准&#xff0c;下面将分享如何一步步解开它的面纱&#xff0c;哟没有一种幸福感O(∩_∩)O哈哈~ 目录 1. 简介 2. 为什么要了解es6 3. ES-Checker 4. Babel 5. 开发工具 5.1. Sublime Text 5.2. WebS…...

    2024/4/21 4:58:53
  13. 35道常见的前端vue面试题

    对于前端来说&#xff0c;尽管css、html、js是主要的基础知识&#xff0c;但是随着技术的不断发展&#xff0c;出现了很多优秀的mv*框架以及小程序框架。因此&#xff0c;对于前端开发者而言&#xff0c;需要对一些前端框架进行熟练掌握。这篇文章我们一起来聊一聊VUE及全家桶的…...

    2024/4/21 4:58:52
  14. 巧用Angular项目的get设置Angular class属性访问的别名

    以this.host为例&#xff1a; 实现位置&#xff1a; /*** Helper method to return the host element for the directive* given by the elementRef.*/protected get host(): HTMLElement {return this.elementRef.nativeElement;}更多Jerry的原创文章&#xff0c;尽在&#xf…...

    2024/4/21 4:58:51
  15. 使用Angular的http client发送请求,请求response总是被当成json类型处理

    奇怪的问题&#xff0c;我的req.responseType字段没有显式赋值&#xff0c;而默认值为json&#xff1a; 这个默认值是在哪里填充的呢&#xff1f; 调试代码&#xff0c;http.js的第1669行有这个默认的逻辑&#xff1a; 解决方案&#xff1a;下图第26行 responseType: text a…...

    2024/4/20 19:39:09
  16. Angular学习之旅-----get传值 路由跳转

    新建shoplist组件 在app-routing.module.ts中配置路由 import { NgModule } from angular/core; import { Routes, RouterModule } from angular/router; // 引入组件 import { HomeComponent } from ./components/home/home.component import { NewsComponent } from ./comp…...

    2024/4/20 19:39:07
  17. angular HttpClient get 方法获取数据

    请先查看上一篇文章HttpClient配置&#xff0c;之后在进行。 使用 this.myhttp.get(http://192.168.2.139:9002/api/patients)方法&#xff0c;读取webapi。因为get方法是通过AJAX方法读取数据的&#xff0c;所以服务器要可以跨域访问&#xff0c;具体方法查询webapi文章1 impo…...

    2024/4/20 19:39:06
  18. Angular4项目运行时URL自动加#方法

    import {HashLocationStrategy , LocationStrategy} from angular/common;NgModule({declarations: [AppCmp],bootstrap: [AppCmp],imports: [BrowserModule, routes],providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}] }); 这样设置后&#xff0c;访…...

    2024/4/20 19:39:05
  19. Angular--使用Angular get 请求数据

    1. Angular–使用Angular get 请求数据 1.1 准备工作 1.1.1 新建一个angular项目 ng new angularDemo041.1.2 在项目里面新建一个news组件 ng g component components/news1.2 在app.module.ts 中引入HttpclientModule并注入 app.module.ts import { NgModule } from angu…...

    2024/4/21 4:58:52
  20. Angular HttpClient改为同步请求

    1、示例代码&#xff1a; import { Component, OnInit } from angular/core; import { HttpClient, HttpParams } from angular/common/http;Component({selector: app-test,templateUrl: ./test.component.html,styleUrls: [./test.component.css] }) export class TestCompo…...

    2024/4/21 4:58:49

最新文章

  1. 每天一个数据分析题(二百八十五)——四分位差

    四分位差是一组数据的上四分位数与下四分位数之差&#xff0c;下面选项错误的是 A. 四分位差受极端值的影响 B. 四分位差是一个局部指标&#xff0c;衡量了处于50%数据的离散程度 C. 四分位差越大&#xff0c;说明处于中间50%数据越分散 D. 顺序数据适合用四分位差来度量离…...

    2024/4/27 16:45:02
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Unity核心学习

    目录 认识模型的制作流程模型的制作过程 2D相关图片导入设置图片导入概述纹理类型设置纹理形状设置纹理高级设置纹理平铺拉伸设置纹理平台打包相关设置 SpriteSprite Editor——Single图片编辑Sprite Editor——Multiple图片编辑Sprite Editor——Polygon图片编辑SpriteRendere…...

    2024/4/24 7:49:17
  4. 算法四十天-删除排序链表中的重复元素

    删除排序链表中的重复元素 题目要求 解题思路 一次遍历 由于给定的链表是排好序的&#xff0c;因此重复的元素在链表中的出现的位置是连续的&#xff0c;因此我们只需要对链表进行一次遍历&#xff0c;就可以删除重复的元素。 具体地&#xff0c;我们从指针cur指向链表的头节…...

    2024/4/23 6:25:37
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/26 18:09:39
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/26 20:12:18
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/27 4:00:35
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/25 18:39:22
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/26 21:56:58
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/27 9:01:45
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/26 16:00:35
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/25 18:39:16
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/26 22:01:59
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/25 2:10:52
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/25 18:39:00
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57