vue框架

框架

什么是框架

盖高楼大厦,框架结构

框架结构就是大厦主体,基本功能

把很多基础功能已经实现(封装了)

框架:在基础语言之上,对各种基础功能进行封装,方便开发者,提高开发效率

举例:操作网页

现在:点击一个按钮 触发事件,获取要操作的标签,在对标签内容进行操作

框架:操作网页时,程序员只关注要操作的内容即可,对标签内容的更新等操作,都由框架完成

前端框架

javaScript是原生的

vue.js 是一个js框架,不是代替js的,是对js进行了封装。

UI框架:将前端常用的一些组件(表格,表单,消息提示)进行封装(对html和css进行了封装)

后端Java框架

mybatis--jdbc

spring......

vue.js

优点

体积小,效率高,双向数据绑定 m v vm ,生态丰富,学习成本低

1.在head标签中导入vue.js

<script src="js/v2.6.10/vue.min.js"></script>

2.vue模板

<body>
    <div id="app">
        {{ message }}<!-- {{}}插值表达式,可以获取data中的值 -->
    </div>
    <script>
        /* 创建一个vue对象 */
        var app = new Vue({
            el: '#app', //绑定挂载点,可以使用其他的选择器,建议使用id选择器,不能使用body,html与vue对象绑定
            data: {//定义数据,可以定义多个
                message: 'Hello Vue!'
            }
        })
    </script>
</body>

3.Vue 指令

指令带有前缀 v- 开头,以表示它们是 Vue 提供的特殊属性。

v-text

作用是设置标签的文本内容

默认写法会替换全部内容,使用差值表达式可以替换指定内容

内部支持写表达式

<p v-text="message">aaa</p>

<p>{{message}}aaa</p>

v-html

作用是设置元素的 innerHTML

内容中有 html 结构会被解析为标签

内部支持写表达式

<p v-html="message">aaa</p>

{{}},v-html,v-text的区别

{{message}}插入一个值,不影响标签中的其他内容

v-html="message",v-text="message"会覆盖标签中的其他内容

{{message}},v-text="message"不能解析内容中html标签

v-html="message"可以解析内容中html标签

v-on

作用是为元素绑定事件

事件名不需要写 on 指令可以简写为@

绑定的方法定义在 methods 属性中,可以传入自定义参数

在vue中声明函数,使用this关键字访问data中的数据

<input type="button" value="按钮" v-on:click="test(1,2)" />
<input type="button" value="按钮" @click="test1()" />

methods:{
    test(a,b){
        alert(a);
    },//两方法之间用逗号隔开
    test1(){
        
    }
}
v-model

v-model="变量" 把表单元素的value值 绑定到vue对象data中,当输入框值发生改变时,自动更新到数据中

绑定的数据<---->表单元素的值 双向数据绑定

<input type="text" v-model="message"/>
//message需要在vue对象的data中定义
v-show

修改元素的 display,实现显示隐藏

指令后面的内容,最终都会解析为布尔值

值为 true 元素显示,值为 false 元素隐藏

数据改变之后,对应元素的显示状态会同步更新

<img v-show="isShow" src="img/3.jpg" />//isShow为true,图片显示
<img v-show="age>18" src="img/3.jpg" />//age为15小于18图片隐藏

data:{
    isShow:true,
    age:15
}
v-if

隐藏标签时,直接将标签从网页删去,大量操作开销较大,显示时需要重新创建标签,效率低

显示状态表达式的值为 true,元素存在于 dom 中,为 false,从 dom 中移除

频繁的切换 v-show,反之使用 v-if,前者的切换消耗小

v-if 可以和 v-else 联合使用 两个必须紧挨着

<img :src="img" v-if="isshow" />
<img src="img/2.jpg" v-else />

data: {
    img:"img/1.jpg",
	isshow:true
}
v-bind

v-bind:标签属性名 = "变量" 可以动态改变属性的值,只需在js中改变变量的值即可

完整写法是 v-bind:属性名

简写的话可以直接省略 v-bind,只保留 :属性名

<img v-bind:src="imgSrc" />
<img :src="imgSrc" />
<img :title="imgTitle"  :src="imgSrc" />

data:{
    imgSrc:'img/1.jpg',
    imgTitle:"鼠标放上会显示的提示"
}

我们可以传给 v-bind:class 一个对象,以动态地切换 class:

<div v-bind:class="{ active: isActive }"></div>
//为true时设置的样式显示,为false时不显示
data:{
    isActive :true
}
v-for

作用是根据数据生成列表结构

数组经常和 v-for 结合

使用语法是(item,index)in 数据

item 和 index 可以结合其他指令一起使用

数组长度的更新会同步到页面上是响应式的

为循环绑定一个 key 值 :key="值" 尽可能唯一

<li v-for="item in array">
    {{item}}省
</li>
<li v-for="(item,index) in array">
    {{index+1}}{{item}}省
</li>

<li v-for="(item,index) in objects">
    {{index+1}}{{item.name}}{{item.age}}
</li>

data:{
    array:['陕西','山西','河南'],
    objects:[
        {name:'admin',age:23},
        {name:'jim',age:22}
    ]
}

Vue生命周期

生命周期图示

Vue 实例 --- Vue.js (vuejs.org)

vue对象的生命周期钩子函数,在生命周期的每个阶段提供一个函数,供我们执行某些需要的操作

beforeCreate(){}

vue对象创建之前

created(){}vue

对象创建完成

beforeMount(){}

vue对象与标签绑定之前

mounted(){}

vue对象与标签绑定之后

mounted是常用的,当vue对象创建成功,与标签绑定成功后执行我们想要的操作

类似于之前的onload事件

相关推荐
编程零零七2 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
北岛寒沫3 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习
everyStudy3 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript
(⊙o⊙)~哦4 小时前
JavaScript substring() 方法
前端
无心使然云中漫步5 小时前
GIS OGC之WMTS地图服务,通过Capabilities XML描述文档,获取matrixIds,origin,计算resolutions
前端·javascript
Bug缔造者5 小时前
Element-ui el-table 全局表格排序
前端·javascript·vue.js
xnian_5 小时前
解决ruoyi-vue-pro-master框架引入报错,启动报错问题
前端·javascript·vue.js
罗政6 小时前
[附源码]超简洁个人博客网站搭建+SpringBoot+Vue前后端分离
vue.js·spring boot·后端
麒麟而非淇淋6 小时前
AJAX 入门 day1
前端·javascript·ajax
2401_858120536 小时前
深入理解MATLAB中的事件处理机制
前端·javascript·matlab