首页 > 编程语言 >Javascript、axios、vue基础命令快速学习

Javascript、axios、vue基础命令快速学习

时间:2023-10-14 22:22:22浏览次数:51  
标签:axios vue age Javascript Axios Vue result data emp

1.js: JavaScript

基础学习

JavaScript基础学习

简单案例

1.点击img1,则展示img1图片默认,点击img2则展示img2图片 2.输入框鼠标聚焦onfocus后,显示小写toLowerCase(),失去焦点onblur后显示大写toUpperCase() 3.点击全选按钮,所有复选框为被选中状态,点击反选则取消勾选状态 JavaScript案例

 

2.Vue2入门

官方文档:介绍 — Vue.js (vuejs.org)

Vue是一套前端框架,免除JavaScript中的DOM操作,简化书写。

基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。

2.1下载Vue.js文件,引入到项目中

<script src="js/vue.js"></script>

2.2Vue基础指令

v-bind:给标签属性绑定vue中定义的模型数据,可简写为:

v-model:给表单项双向绑定vue中定义的模型数据

v-on:给标签绑定事件,v-on:事件名="方法名()",可简写为@事件名="方法名()"

v-if、v-else-if、v-else; v-show、v-for

 

<div id = "study01">
        <!-- 插值表达式{{message}}:将变量的值显示到标签内容体 -->
        <p>{{message}}</p>
        <!-- 展示到标签中使用 v-model -->
        <input type="text" v-model="message">
    </div>


    
    <div id = "study02">

        <!-- v-bind:href、v-model的使用 -->
        <a v-bind:href="url">链接1</a>
        <a :href="url">链接2</a>
        <br>
        <!-- 在text里面修改网址,也会直接修改了链接12的网址:双向绑定 -->
        <input type="text" v-model="url">
        <br>



        <!-- v-on使用:给HTML标签绑定事件 -->
        <input type="button" value="按钮1" v-on:click="handle()">
        <input type="button" value="按钮2" @click="handle()">
        <br>

        <!-- v-if、v-else-if、v-else; v-show -->
        年龄<input type="text" v-model="age">经判定,为:
        <span v-if="age <= 35">年轻人</span>
        <span v-else-if="age>35&&age<=60">中年人</span>
        <span v-else>老年人</span>
        <br>
        <!-- v-show -->
        年龄<input type="text" v-model="age">经判定,为:
        <span v-show="age <= 35">年轻人</span>
        <span v-show="age>35&&age<=60">中年人</span>
        <span v-show>老年人</span>
        <br>

        <!-- v-for -->
        <p v-for="ithem in addrs">{{ithem}}</p>
        <p v-for="(ithem,index) in addrs">{{index+1}},{{ithem}}</p>


    </div>


    
    



    <script>

        new Vue({
            //定义Vue接管的区域
            el:"#study01",
            data: {
                //定义模型数据
                message: "hello Vue"
            }

        })


        new Vue({
            
            el: "#study02",
            data: {

                url:"http://www.baidu.com",
                age: 20,
                addrs: ["北京","上海","广州","深圳"]
            },
            methods:{
                //定义绑定的自定义函数
                handle: function(){
                    alert("按钮被点击了...");
                }
            }
        })


    </script>

 

2.3案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue案例1</title>
    <script src="js/vue.js"></script>
</head>
<body>
    <div id="app">

        <table border="1" cellspacing="0" width="60%">

            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>年龄</th>
                <th>性别</th>
                <th>成绩</th>
                <th>等级</th>
            </tr>
            <tr align="center" v-for="(user,index) in users">
                <td>{{index+1}}</td>
                <td>{{user.name}}</td>
                <td>{{user.age}}</td>
                <td>{{user.gender==1?"男":"女"}}</td>
                <td>{{user.score}}</td>
                <td v-if="user.score<60" style="color: red;">不及格</td>
                <td v-else-if="user.score>=60&&user.score<80">及格</td>
                <td v-else>优秀</td>
            </tr>
        </table>

    </div>
    
</body>

<script>
    new Vue({
        el:"#app",
        data: {
            users: [
                {
                    name: "Tom",
                    age: 20,
                    gender: 1,
                    score: 78
                },
                {
                    name: "Rose",
                    age: 18,
                    gender: 2,
                    score: 86
                },
                {
                    name: "Jerry",
                    age: 26,
                    gender: 1,
                    score: 90
                },
                {
                    name: "Tony",
                    age: 30,
                    gender: 1,
                    score: 52
                }
            ]
        }
    })
</script>

</html>

 3.Ajax和Axios

3.1Ajax

Asynchronous JavaScript And XML,异步的JavaScript和XML

作用:

数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据

异步交互:可以在不刷新加载整个页面的情况下,与服务器交换数据且更新部分网页的技术

3.2Axios

官方文档:起步 | Axios中文文档 | Axios中文网 (axios-http.cn)

Axios对原生的Ajax进行封装,简化书写,快速开发。

3.2.1下载并引入Axios的js文件

3.2.2基础学习

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Axios基础学习</title>
    <script src="js/axios-0.18.0.js"></script>
</head>
<body>
    
    <input type="button" value="获取数据Get请求" onclick="get()">
    <input type="button" value="删除数据Post请求" onclick="post()">


</body>

<script>

    //基础学习
    function get(){

        axios({
            
            method: "get",//发送get请求
            url: "https://mock.apifox.cn/m1/2954513-0-default/emp/list"//请求地址

        }).then(result=>{
            console.log(result.data);//获取响应回来的数据要加data
        })


        //优化写法
        // axios.get("https://mock.apifox.cn/m1/2954513-0-default/emp/list").then(result=>{
        // console.log(result.data);
        // })

    }


    function post(){

        axios({

            method: "post",
            url: "https://mock.apifox.cn/m1/2954513-0-default/emp/deleteById",
            data: "id=10"  //获取id=10的数据
        }).then(result=>{
            console.log(result.data);
        })

    }


</script>

</html>

3.3.3案例

页面刷新 vue中:mounted()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Axios案例1</title>
    <script src="js/axios-0.18.0.js"></script>
    <script src="js/vue.js"></script>
</head>
<!-- 页面加载的函数vue中:mounted() -->
<body>
    
    <div id = "app">

        <table border="1" cellspacing="0" width="60%">

            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>图像</th>
                <th>性别</th>
                <th>职位</th>
                <th>入职日期</th>
                <th>最后操作时间</th>
            </tr>

            <tr align="center" v-for="(emp,index) in emps">
                <td>{{index+1}}</td>
                <td>{{emp.name}}</td>
                <td>
                    <img v-bind:src="emp.image" width="70px" height="50px">
                </td>
                <td>
                    {{emp.gender==1?"男":"女"}}
                </td>
                <td>{{emp.job}}</td>
                <td>{{emp.entrydate}}</td>
                <td>{{emp.updatetime}}</td>
            </tr>
        </table>
    </div>

</body>

<script>

    new Vue({

        el:"#app",
        data:{
            emps: [
                {name: "小名",img: "https://web-framework.oss-cn-hangzhou.aliyuncs.com/web/1.jpg",gender: 1,job: "班主任",entrydate: "2018-09-10",updatetime:"2020-02-28"}
            ]
        },
        //mounted:页面加载完成后的方法
        mounted(){

            axios.get("https://mock.apifox.cn/m1/2954513-0-default/emp/list").then(result=>{
                //注意result.data得到响应回来的数据,该数据中又有code、message、data,数据在data中
                console.log(result.data.data);
                //给emps赋值
                //不能直接写emps=result.data.data,这里的emps不是指vue中的ems,而是外层的
                this.emps=result.data.data;
            })
        }
    })
</script>

</html>

 

标签:axios,vue,age,Javascript,Axios,Vue,result,data,emp
From: https://www.cnblogs.com/hmy22466/p/17764855.html

相关文章

  • Vue3 + Quasar系列-代码配置以及报错汇总记录(不断更新中)
    1.Vue3+Quasar系列-代码配置打包去掉hash后缀去掉hashhttps://quasar.dev/quasar-cli-vite/developing-pwa/configuring-pwa2.Vue3+Quasar改变主题背景quasar的样式和其他的框架修改不太一样,需要我们使用动态的方式来进行变更,一般来说有两种方案进行主题修改方案一:......
  • Vue3| Pinia 持久化插件
    对vuex或Pinia里面的内容做本地持久化1.安装插件:npmipinia-plugin-persistedstate2.将插件添加到pinia实例上①main.js里导入持久化插件:importpiniaPluginPersistedstatefrom'pinia-plugin-persistedstate'② app.use(pinia.use(piniaPluginPersistedstate))......
  • 手撕Vue-提取元素到内存
    接着上一篇文章,我们已经实现了构建Vue实例的过程,接下来我们要实现的是提取元素到内存。主要是通过文档碎片来实现,文档碎片是一个轻量级的文档,可以包含和控制节点,但是不会像真实的DOM那样占用内存,所以我们可以通过文档碎片来提高性能。大致的思路是这样的:创建一个空的文档碎片......
  • Vue3| Pinia 的 action 异步写法
    import{defineStore}from'pinia'import{ref}from'vue'importaxiosfrom'axios'exportconstuseChannelStore=defineStore('channel',()=>{  constchannelList=ref([])  constgetList=()=>......
  • Vue3| Pinia 的语法
    Pinia是Vue的最新状态管理工具,是Vuex的替代品Pinia的优势:1.提供更简单的API(去掉了mutation)2.提供符合组合式风格的API(和Vue3新语法统一)3.去掉了modules的概念,每一个store都是一个独立的模块4.配合TypeScript更加友好,提供可靠的类型推断 Pinia基本......
  • vue webpack 报错处理
    1.vue-cli3中console.log报错:ModuleWarning(from./node_modules/eslint-loader/index.js):error:Unexpectedconsolestatement(no-console)at(1).原因:使用ESLint检查代码质量是进行提示的.(2).解决:window.console.log(res);2.图片引入:{id:1,src:require(......
  • Axios简介
    什么是Axios全称ajaxI/Osystem基于Promise用于浏览器和nodejs的HTTP客户端axios提供了对AJAX的良好封装学习Axios的前提是学习Ajax,可以看看我的另一篇关于Ajax的博客Axios特点在浏览器中创建XMLHttpRequest请求在node.js中发送http请求支持Promis......
  • Vue3| 组合式 API——provide 和 inject
    作用和场景:顶层组件向任意的底层组件传递数据和方法,实现跨层组件通信 跨层传递普通数据步骤:1.顶层组件通过provide函数提供数据provide('key', 顶层组件中的数据) 2.底层组件通过inject函数获取数据const message=inject('key')   //'k......
  • [JavaScript]arguments对象
    当我们不确定有多少个参数传递的时候,可以使用arguments来获取。在JavaScript中,arguments实际上是充当函数的内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。arguments展示形式是一个伪数组,可以进行遍历。伪数组具有以下特点:1.......
  • Vue3| 模板引用、defineExpose宏函数
    模板引用的概念:通过ref标识获取真实的dom对象或者组件实例对象 使用:1.调用ref函数生成一个ref对象<script setup>import {ref} from 'vue'const h1Ref=ref(null)</script>2.通过ref标识绑定ref对象到标签<script setup>import {ref......