Vue学习2-(语法)

下一篇 Vue学习3-(语法)


小结1:

在这里插入图片描述

一、框架和库的区别

框架:是一套完整的解决方案;对项目的侵入性较大,项目如果需要更换框架,则需要重新架构整个项目。
    node 中的 express;
库(插件):提供某一个小功能,对项目的侵入性较小,如果某个库无法完成某些需求,可以很容易切换到其它库实现需求。
        从Jquery 切换到 Zepto
        从 EJS 切换到 art-template

二、Node(后端)中的 MVC 与 前端中的 MVVM 之间的区别

MVC 是后端的分层开发概念;
MVVM是前端视图层的概念,主要关注于 视图层分离,也就是说:MVVM把前端的视图层,分为了 三部分 Model, View , VM ViewModel
为什么有了MVC还要有MVVM

三、解决闪烁用v-cloak

1、使用 插值表达式,存在内容闪烁的问题,但是,v-text没有闪烁问题;
2、在插值表达式中,可以使用 v-cloak 解决闪烁问题;
在这里插入图片描述

四、插值表达式与v-test区别

插值表达式只会插入内容,并不会清楚其余的内容; v-text 会把元素中之前的内容都清空!
在这里插入图片描述
效果:
在这里插入图片描述

五、v-text和v-html

在这里插入图片描述
在这里插入图片描述

六、v-bind:(缩写“:”)的三种用法

直接使用指令v-bind
使用简化指令:
在绑定的时候,拼接绑定内容::title="btnTitle + ', 这是追加的内容'"

在这里插入图片描述
在这里插入图片描述

七、v-on:(缩写“@”)绑定事件

v-on:vlick=“add” == @click=“add”
在这里插入图片描述
在这里插入图片描述

八、跑马灯效果

注解

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

代码

HTML结构:

<div id="app">
 <p>{{info}}</p>
 <input type="button" value="开启" v-on:click="go">
 <input type="button" value="停止" v-on:click="stop">
</div>

Vue实例:

 // 创建 Vue 实例,得到 ViewModel
 var vm = new Vue({
   el: '#app',
   data: {
     info: '猥琐发育,别浪~!',
     intervalId: null
   },
   methods: {
     go() {
       // 如果当前有定时器在运行,则直接return
       if (this.intervalId != null) {
         return;
       }
       // 开始定时器
       this.intervalId = setInterval(() => {
         this.info = this.info.substring(1) + this.info.substring(0, 1);
       }, 500);
     },
     stop() {
       clearInterval(this.intervalId);
     }
   }
 });

九、v-model双向绑定及其注意点

介绍

在这里插入图片描述
效果:
在这里插入图片描述

注意点:

在这里插入图片描述

简易计算器案例

<div id="app">
 <input type="text" v-model="n1">
 <select v-model="opt">
   <option value="+">+</option>
   <option value="-">-</option>
   <option value="*">*</option>
   <option value="/">/</option>
 </select>
 <input type="text" v-model="n2">
 <input type="button" value="=" @click="calc">
 <input type="text" v-model="result">
</div>

<script>
 // 创建 Vue 实例,得到 ViewModel
 var vm = new Vue({
   el: '#app',
   data: {
     n1: 0,
     n2: 0,
     opt: '+',
     result: 0
   },
   methods: {
     calc() {
       const str = `parseFloat(${this.n1}) ${this.opt} parseFloat(${this.n2})`
       this.result = eval(str)
     }
   }
 });
</script>

效果:
在这里插入图片描述

十、事件修饰符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十一、Vue中使用样式

1、使用class样式

数组
 <h1 :class="['red', 'thin']">这是一个邪恶的H1</h1>
数组中使用三元表达式
  <h1 :class="['red', 'thin', isactive?'active':'']">这是一个邪恶的H1</h1>
数组中嵌套对象
   <h1 :class="['red', 'thin', {'active': isactive}]">这是一个邪恶的H1</h1>
直接使用对象
    <h1 :class="{red:true, italic:true, active:true, thin:true}">这是一个邪恶的H1</h1>

在这里插入图片描述
在这里插入图片描述

2、使用内联样式

1、直接在元素上通过 :style 的形式,书写样式对象
  <h1 :style="{color: 'red', 'font-size': '40px'}">这是一个善良的H1</h1>
2、将样式对象,定义到 data 中,并直接引用到 :style 中
    在data上定义样式:
     data: {
           h1StyleObj: { color: 'red', 'font-size': '40px', 'font-weight': '200' }
        }
    在元素中,通过属性绑定的形式,将样式对象应用到元素中:
        <h1 :style="h1StyleObj">这是一个善良的H1</h1>
3、在 :style 中通过数组,引用多个 data 上的样式对象
    在data上定义样式:
        data: {
           h1StyleObj: { color: 'red', 'font-size': '40px', 'font-weight': '200' },
           h1StyleObj2: { fontStyle: 'italic' }
        }
    在元素中,通过属性绑定的形式,将样式对象应用到元素中:
 <h1 :style="[h1StyleObj, h1StyleObj2]">这是一个善良的H1</h1>

eg:
在这里插入图片描述

十二、v-if 和 key

1、迭代数组

<ul>
  <li v-for="(item, i) in list">索引:{{i}} --- 姓名:{{item.name}} --- 年龄:{{item.age}}</li>
</ul>
2、迭代对象中的属性
    <!-- 循环遍历对象身上的属性 -->
    <div v-for="(val, key, i) in userInfo">{{val}} --- {{key}} --- {{i}}</div>

在这里插入图片描述

3、 迭代数字

<p v-for="i in 10">这是第 {{i}} 个P标签</p>

在这里插入图片描述

十三、v-if 与 v-show

在这里插入图片描述
在这里插入图片描述

十四、品牌例子

1、添加、删除

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
删除功能的新方法 findIndex()
在这里插入图片描述

2、筛选

在这里插入图片描述
在这里插入图片描述

十五、过滤器

概念:Vue.js 允许你自定义过滤器,可被用作一些常见的文本格式化。过滤器可以用在两个地方:mustache 插值v-bind 表达式。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符指示;

私有过滤器

在这里插入图片描述
在这里插入图片描述

全局过滤器

在这里插入图片描述

例子

在这里插入图片描述
在这里插入图片描述

效果

在这里插入图片描述

注意事项

在这里插入图片描述


下一篇 Vue学习3-(语法)

猜你喜欢

转载自blog.csdn.net/m0_45234510/article/details/106004952