【VUE】【axios】2種方法:數據庫數據→傳遞→給vue中數據this.joke = response.data


使用箭頭函數可以訪問上層的this

否則需要使用新定義的that進行暫存

結果:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <!-- 官方axios在線地址 -->
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <!-- 隨機獲取一條笑話的接口
    請求地址:https://autumnfish.cn/api/joke
    請求方法:get
    請求參數:無
    響應內容:隨機笑話 -->

</head>

<body>
    <div id="app">
        <button value="獲取笑話" @click="getJoke">獲取笑話</button>
        <!-- 原來js用class添加的事件,vue中直接用@click解決了 -->
        <button value="獲取笑話" @click="getJoke1">獲取笑話1</button>

    </div>
    <script>
        var area = new Vue({
            el: "#app",
            data: {
                joke: "這是一個笑話"
            },
            methods: {
                getJoke: function() {
                    var that = this; //this會變,就存一下
                    axios.get("https://autumnfish.cn/api/joke?num=1").then(function(response) {
                        that.joke = response.data;                     }, function(error) {
                        console.log(error);
                    })
                },
                // 使用箭頭函數可以訪問上層的this,不用新增變量that進行暫存了
                getJoke1: function() {
                    axios.get("https://autumnfish.cn/api/joke?num=1").then((response) => {
                        this.joke = response.data; //哦!!把數據庫response里面的數據,傳送給vue~~
                        console.log(this.joke); //成功~,不再是默認值"這是一個笑話"了
                    }, function(error) {
                        console.log(error);
                    })

                }
            }
        })
    </script>
</body>

</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM