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事件

相关推荐
安腾斯科技1 分钟前
el-table 纵向垂直表头处理
javascript·vue.js·elementui
程序员劝退师_28 分钟前
Vue学习笔记
vue.js·笔记·学习
snow_wind_rain43 分钟前
网页作业9
前端·css·css3
zhzhzhen_43 分钟前
如何在项目中用elementui实现分页器功能
前端·javascript·elementui
向明天乄1 小时前
elementui el-table中给表头 el-table-column 加一个鼠标移入提示说明
前端·javascript·vue.js·elementui
Akiiiira1 小时前
【网页设计】CSS3 进阶(动画篇)
前端·javascript·css3
Easonmax1 小时前
【JavaScript】JavaScript开篇基础(6)
开发语言·javascript·ecmascript
走进大山的孩子2 小时前
本地项目运行提示跨域问题
vue.js
蒜蓉大猩猩2 小时前
Vue3.js - 一文看懂Vuex
前端·javascript·vue.js·前端框架·html5
excel2 小时前
three EdgeSplitModifier
前端