vue.js基础知识

目录

一、什么是vue.js

二、为什么学习流行框架

三、框架和库的区别

3.1框架

3.2库

四、MVC与M VVM的区别

4.1MVC

4.2MVVM

vue代码结构

五、插值表达式、v-text、v -html

六、v-bind v-on

七、事件修饰符、v-model数据双向绑定

1、事件修饰符

2、v-model数据双向绑定

八、Vue中样式的使用

1、使用class样式

11.2、使用内联样式

九、V-for和key属性

 1、 v-for 

 2、key的作用:

十、v-if与v -show(显示隐藏元素)


一、什么是vue.js

核⼼理念:数据驱动视图,组件化开发

是⼀套⽤于构建⽤户界⾯的渐进式框架。
是以⾃底向上逐层应⽤,Vue 的核⼼库只关注视图层
 

二、为什么学习流行框架

1、轻量级框架:只关注视图层
2、简单易学:国人开发中文文档,易于理解和学习
3、视图、数据、结构分离;使操作数据更简单
4、不需要进行逻辑代码的修改。只需要操作数据就能完成相关操作
5、虚拟DOM:不在使用原生的dom节点,极大解放dom操作
6、运行速度更快

三、框架和库的区别

3.1框架

1、是一套完整的解决方案
2、对项目侵入性较大
3、更换框架需要重构整个项目

3.2库

1、提供一小部分功能
2、对项目侵入性较小
3、更换功能切换其他库即可,切换库容易

四、MVC与M VVM的区别

4.1MVC

1、model-View-Controller(后端分层开发概念)
v(view 视图层)展示数据,发送请求->C(controller调度层)接收数据,相应数据->M(model模型层)处理数据和数据库进行交换数据->数据库

4.2MVVM

V(view视图层)展示数据->VM(view-model)连接view和model->M(model 模型层)进行数据处理

vue代码结构

<script>
    // 实例化vue 
    let vm = new Vue({
        // 控制区
        el: "#app",
        // 存放数据
        data: {
            msg: "hello vue",
            age: 18,
            html: ' <a href="">我是连接标签</a>'
        },
        // 存放方法
        methods: {

        }
    })
</script>

五、插值表达式、v-text、v -html

1、差值表达式{{} 

展示数据,进行简单的运算

2、v-text、v-html
v-text:类似于js中的innerText覆盖元素中的内容
v-html:类似于js中的innerHTML,可识别富文本

3、v-text和v-html的异同
相同点:都会覆盖元素
不同点:v-html可以解析富文本;

v-text:不能解析富文本

六、v-bind v-on

v-bind 元素的属性绑定   简写  : 

v-on 元素事件的绑定     简写 @

七、事件修饰符、v-model数据双向绑定

1、事件修饰符

.stop 阻止冒泡 :阻止事件继续向外传播

.capture 添加捕获模式

.self 当事件作用于本身的时候触发

.once 事件只会触发一次

.prevent 阻止默认事件

2、v-model数据双向绑定

  v-model 数据双向绑定 ; 绑定表单控件

数据双向绑定的原理:

是采用数据劫持结合发布者-订阅者模式的方式,

 通过Object.defineProperty()来劫持各个属性的setter,getter,

 在数据变动时发布消息给订阅者,触发相应的监听回调来渲染视图。

八、Vue中样式的使用

1、使用class样式

1、数组 :class=“[class1,class2]”
2、三目表达式 :class=“age<18?class1:class2”
3、对象 :class{red:ture}
对象的键是属性的名字,值是Booleam类型
4、数组内置对象 :class=“[{‘red’:true},{fs30:false}]”

11.2、使用内联样式

1、直接写在元素上通过:style的形式,书写样式对象

<div :style="{color : 'red','font-size' : '30px'}">

2、将样式对象,定义到data中,并直接引用到:style中

<body>
 <div id="app">
 <div :style=style1>红⾊字体</div>
 <div :style=style2>字号30px、字体加粗</div>
 </div>
</body>
<script>
 let vm = new Vue({
 		el: "#app",
 		data: {
 			style1: 'color:red',
 			style2: {
 				fontSize: "30px",
 				"font-weight": 700
 						}
 				},
		 methods: {}
 })
</script>

3、在:style中通过数组,引用多个data上的样式对象
4、在:style 中通过函数返回对象

九、V-for和key属性

 1、 v-for 

       1、遍历数组      

<!-- 1、遍历数组 -->
        <div v-for="(item1,index1) in list" :key="item1">
            <!-- item 数组中的每一个元素  index:索引 -->
            {{item1}}==={{index1}}
        </div>
        <div v-for="item in list">
            <!-- item 数组中的每一个元素  index:索引 -->
            {{item}}
        </div>

        <!-- 2、遍历对象 -->

       

 <!-- 2、遍历对象 -->

        <div v-for="(value,key,index) in obj">

            {{value}}=={{key}}=={{index}}

        </div>

        <!-- 3、遍历数字 -->

        

 <!-- 3、遍历数字 -->

        <div v-for="num in 5">

            <div>免费</div>

        </div>

 2、key的作用:

提高重排效率,就地复用 (diff算法)

注意点:必须是数字或者字符串  必须是唯一值

十、v-if与v -show(显示隐藏元素)

            v-if和v-show的异同:

            相同点:显示和隐藏元素

            不同点:v-show: display:none显示和隐藏元素

            v-if:通过删除dom元素

            应用场景:

            只修改一次的时候可以使用v-if,

            频繁切换的时候可以使用v-show

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值