首页 > 其他 > 详细

vue问题

时间:2020-05-14 16:11:09      阅读:55      评论:0      收藏:0      [点我收藏+]

1.对SPA单页面的理解和优缺点。

spa(single-page-application)是指在初始化web应用时,就加载了html、javacript,css等,此后不会因为用户的操作加载和跳转,而且通过路由来来实现页面内容的变换,避免了重复加载。

优点:用户体验好,避免不必要的跳转和重复渲染,相对服务器压力比较小,前后端职责分离,前端交互逻辑,后端数据处理

缺点: 初次加载耗时长,为实现单页面应用需要统一加载javacript、css.部分页面按需加载.前进后退由路由管理,因为是一个页面显示所有内容,所以不能使用浏览器的前进退后功能,需要建立自己的堆栈管理。

2.v-show和v-if有啥区别

v-if是真正的条件渲染,是有惰性的,只有条件判断为true时才会渲染条件内的内容,为false则不会渲染。

v-show则不管怎么都会渲染,相对应的只是改变css中的display属性

总结:如果是频繁切换条件建议使用v-show,否则使用v-if.

3.Class 与Style如何动态绑定

Class可通过对象或者数据的手法进行绑定。

对象语法

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Class 与Style如何动态绑定</title>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
 </head>
 <body>
  <div id="app">
      <div   class="static" v-bind:class="{ active: isActive, ‘text-danger‘: hasError }"></div>
  </div>
 </body>
 <script>
       var Vm = new Vue({
     el:#app,
     data:{
      isActive:true,
      hasError:false
     }
    })
 </script>
</html>

得到结果为:

<div class="static active"></div>

数组语法:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Class 与Style如何动态绑定</title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>
    <body>
        <div id="app">
          <div v-bind:class="[activeClass, errorClass]"></div>
        </div>
    </body>
    <script>
          var Vm = new Vue({
              el:#app,
              data: {
                activeClass: active,
                errorClass: text-danger
             }
          })
    </script>
</html>

得到结果为:

<div class="active text-danger"></div>

Style也可以通过对象和数组进行动态绑定。

对象中:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Class 与Style如何动态绑定</title>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
 </head>
 <body>
  <div id="app">
   <div v-bind:style="styleObject">123</div>
  </div>
 </body>
 <script>
       var Vm = new Vue({
     el:#app,
     data: {
    styleObject:{
       color: red,
       font-size: 25px
    }
    }
    })
 </script>
</html>

 

得到结果:

<div style="color: red; font-size: 25px;">123</div>

数组中 v-bind:style 的数组语法可以将多个样式对象应用到同一个元素上:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Class 与Style如何动态绑定</title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>
    <body>
        <div id="app">
         <div v-bind:style="[baseStyles, overridingStyles]">123</div>
        </div>
    </body>
    <script>
          var Vm = new Vue({
              el:#app,
              data: {
                baseStyles:{
                   fontSize: 25px,
                },
                overridingStyles:{
                    color: red
                }
             }
          })
    </script>
</html>

得到结果:

<div style="font-size: 25px; color: red;">123</div>

 

vue问题

原文:https://www.cnblogs.com/wzw-gjh/p/12889062.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!