Vue快速入门

Vue快速入门

一、Vue简介

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。

二、第一个Vue程序

(1)导入开发版本的Vue.js

 <!-- 导入开发版本的 Vue.js  -->
    <script src="https://cdn.staticfile.org/vue/2.7.0/vue.min.js"></script>

(2)创建Vue实例对象,设置el属性和data属性

 // 创建Vue 实例 
        var app = new Vue({
            // 设置el属性和data属性
            el: '#app',
            data:{
                message:'Hello Vue!'
            }
        })

(3)使用简洁的模板语法把数据渲染到页面上

二、Vue的el挂载点

el是用来挂载Vue实例挂载的元素。

(1)Vue实例的作用范围是什么呢?

答:Vue会管理el挂载的元素以及内部的所有元素。

(2)是否可以使用其他的选择器?

答:可以使用其他选择器,但是建议使用ID选择器

(3)是否可以设置其他的dom元素呢?

答:el可以设置其他标签,但是不可设置HTML标签和BODY

三、Vue的data数据对象

(1)Vue用得到的数据都定义在data中

(2)data中可以写复杂类型的数据

(3)渲染复杂类型数据时,遵守js的语法即可

四、Vue常见指令

(一)v-text

v-text指令(相当于原生js中的innerText)

用于将数据填充到标签中,作用于插值表达式类似。

 <div id="app">
        <!-- v-text 写法 -->
        <h2 v-text="English"></h2>
        <!-- 插值表达式 -->
        <h2>{{Chinese}}</h2>
    </div>
    <!-- 导入开发版本的 Vue.js -->
    <script  src="https://cdn.staticfile.org/vue/2.7.0/vue.min.js"></script>
    <script>
        // 创建Vue 实例
        new Vue({
            // 设置el属性和data属性
            el:'#app',
            data() {
                return {
                    English:'How are you ?',
                    Chinese:'你好吗?'
                }
            },
        })
    </script>

(二)v-html

v-html指令(相当于原生js中的innerHTML)

v-html和v-text的区别

v-html的作用:

​ (1) v-html指令的作用是:设置元素的innerHTML

​ (2)内容中有html标签或元素会被解析为标签

v-text的作用

(1) v-text指令无论内容是什么,只会解析为文本

(2)解析文本使用v-text,需要解析html结构使用v-html

<div id="app">
        <p v-html="message"></p>
   
        <p v-text="message"></p>
    </div>
     <!-- 导入开发版本的 Vue.js -->
     <script  src="https://cdn.staticfile.org/vue/2.7.0/vue.min.js"></script>
     <script>
        // 创建Vue 实例
        new Vue({
            el:'#app',
            data() {
                return {
                    message:'<a href="http://www.baidu.com">百度</a>'
                }
            },
        })
     </script>
     

(三)v-on基础

v-on为元素班绑定事件

语法:v-on:事件=“方法名”

v-on指令的特点

(1)事件名不需要写on
(2)指令可以简写为@
(3)绑定的方法定义在methods属性中
(4)方法内部通过this关键字可以访问定义在data中数据

div id="app">
<input type="button" value="事件绑定" v-on:click="sayHi">
<input type="button" value="事件绑定" @monseenter="sayHi"><input type="button" value="事件绑定" @dblclick="sayHi">
</div>
<script>
       
        new Vue({
            el:'#app',
           methods:{
			dolt:function(){
				alert('hi');
			}
		}
       })
     </script>

v-on补充

(1)事件绑定的方法写成函数调用的形式。

(2)可以传入自定义参数定义方法时需要定义形参来接收传入的实参。
(3)事件的后面跟上.修饰符可以对事件进行限制,
例如: “.enter” 可以限制触发的按键为回车。
(4)事件修饰符有多种

(5)传递自定义参数

<div id="app">
<input type="button" @click="dolt(形参1,形参2)"/>
//鼠标弹起 sayHi
<input type="text" @keyup.enter="sayHi"></div>
var app = new Vue({
el: "#app",
methods: {
dolt: function(实参1,实参2){},
sayHi:function(){}
}
})

(四)v-show

v-show的作用:根据表达式的值,切换元素的显示和隐藏。

v-show的特点

(1)原理是修改元素的display ,显示隐藏。

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

(3)v-show的值为true元素就会显示,值为false元素隐藏。

(五)v-if

v-if的作用:根据表达值的真假,切换元素的显示和隐藏(操纵dom元素)

v-if的特点

(1)v-if本质是通过操作dom元素来显示隐藏的。

(2)表达式的值为true,元素存在于dom树中,为false,从dom树中销毁。

(3)频繁的切换v-show,反之使用v-if,前者的切换消耗内存小。

(六)v-bind

v-bind的作用:绑定数据和设置元素的属性(比如:src,title,class)。v-bind也称单向数据绑定。

语法:

​ v-bind:属性名=表达式

简写语法:

​ :属性名=表达式

(七)v-for

**v-for的作用:**根据数据生成列表结构。

v-for语法

  1. v-for = “(值 , 索引)in 目标元素”
  2. v-for = “值 in 目标结构”

v-for目标结构:数组,对象,数字、字符串(可遍历结构)

注意:

  1. ​ v-for的临时变量不能用到v-for范围以外
  2. ​ 谁需要循环循环添加给谁加v-for

v-for的特点

  1. item和index可以结合其他指令一起使用
  2. 数组长度的更新会同步到页面上,是响应式的

(八)v-model

v-model的作用:获取和设置表单元素的值(双向数据绑定)

v-model

  1. 绑定的数据会和表单元素值相关联。
  2. 绑定的数据对应表单元素的值。

注意:v-model不能用于作数据判断。

五、axios基础

axios是一个功能强大的网络请求库

认识axios

Axios 是一个基于 promise 的 HTTP 库,简单的讲就是可以发送get、post请求
说到get、post,大家应该第一时间想到的就是Jquery吧,毕竟前几年Jquery比较火的时候,大家都在用他。但是由于Vue、React等框架的出现,Jquery也不是那么吃香了。

Axios特性
(1)可以在浏览器中发送 XML,Http,Requests

(2)可以在 node.js 发送 http 请求

(3)支持 Promise API

(4)拦截请求和响应

(5)转换请求数据和响应数据

(6)能够取消请求

(7)自动转换 JSON 数据

(8)客户端支持保护安全免受 XSRF 攻击

axios的使用步骤:

2.使用get或者post方法即可发送对应的请求。

  1. then方法中的回调函数会在请求成功或失败时触发。
  2. 通过回调函数的形参可以获取响应内容,或错误信息。

小练习:

<body>
    <input type="button" value="get请求" class="get">
    <input type="button" value="post请求" class="post">
    <!-- 1.axios必须先导入才能使用 -->
    <!-- 官网提供的在线地址 -->
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script>
        /*
           接口1:随机笑话
           请求地址:https://autumnfish.cn/api/joke/list
           请求方法:get
           请求参数:num(笑话条数,数字)
           响应内容:随机笑话
           传参方法:
                    (1)/num=请求数量
                    (2)?num=请求数量
       */
        //1.1先获取元素 
        let btn_get = document.querySelector('.get');
        let btn_post = document.querySelector('.post');
        btn_get.addEventListener('click', function () {
            axios.get('https://autumnfish.cn/api/joke/list?num=3')
            .then(function (response) {
                // 正确信息
                console.log(response);
            }),function (err) {
                // 错误信息
                console.log(err);
            }
        })
        /*
             接口2:用户注册
             请求地址:https://autumnfish.cn/api/user/reg
             请求方法:post
             请求参数:username(用户名,字符串)
             响应内容:注册成功或失败
             传参方法: 键值对
             {键名:值}
             注意点:
             键名一定要对应后端一致的参数
         */
         btn_post.addEventListener('click',function () {
            axios.post('https://autumnfish.cn/api/user/reg',{username:'rose'})
            .then(function (response) {
                console.log(response);
            }),function (err) {
                console.log(err);
            } 
         })

    </script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值