国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)

這篇具有很好參考價(jià)值的文章主要介紹了【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)

本系列文章md筆記(已分享)主要討論vue相關(guān)知識(shí)。Vue.js是前端三大新框架:Angular.js、React.js、Vue.js之一,Vue.js目前的使用和關(guān)注程度在三大框架中稍微勝出,并且它的熱度還在遞增。Vue.js是一個(gè)輕巧、高性能、可組件化的MVVM庫(kù),同時(shí)擁有非常容易上手的API。Vue.js是一個(gè)構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的 web 界面的漸進(jìn)式框架,Vue.js 的目標(biāo)是通過(guò)盡可能簡(jiǎn)單的 API 實(shí)現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件,核心是一個(gè)響應(yīng)的數(shù)據(jù)綁定系統(tǒng)。

全套筆記和代碼自取移步gitee倉(cāng)庫(kù): gitee倉(cāng)庫(kù)獲取完整文檔和代碼


共 2 章,10 子模塊

【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)

【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)

Vue基本使用

ES6語(yǔ)法

ES6標(biāo)準(zhǔn)入門(mén)

ES6語(yǔ)法介紹

ES6是JavaScript語(yǔ)言的新版本,它也可以叫做ES2015,之前學(xué)習(xí)的JavaScript屬于ES5,ES6在它的基礎(chǔ)上增加了一些語(yǔ)法,ES6是未來(lái)JavaScript的趨勢(shì),而且vue組件開(kāi)發(fā)中會(huì)使用很多的ES6的語(yǔ)法,所以掌握這些常用的ES6語(yǔ)法是必須的。

變量聲明

var:它是用來(lái)聲明變量的。如果在方法中聲明,則為局部變量;如果在全局中聲明,則為全局變量。

var num=10

變量一定要在聲明后使用,否則報(bào)錯(cuò)

【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)

let:ES6新增了let命令,用來(lái)聲明變量。它的用法類(lèi)似于var,但是所聲明的變量,只在let命令所在的代碼塊內(nèi)有效。

{
  let a = 10;
  var b = 1;
}

【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)

上面代碼在代碼塊之中,分別用letvar聲明了兩個(gè)變量。然后在代碼塊之外調(diào)用這兩個(gè)變量,結(jié)果let聲明的變量報(bào)錯(cuò),var聲明的變量返回了正確的值。這表明,let聲明的變量只在它所在的代碼塊有效。

for循環(huán)的計(jì)數(shù)器,就很合適使用let命令。

for (let i = 0; i < 10; i++) {}
計(jì)數(shù)器i只在for循環(huán)體內(nèi)有效,在循環(huán)體外引用就會(huì)報(bào)錯(cuò)。

const:const聲明一個(gè)只讀的常量。一旦聲明,常量的值就不能改變。

const PI = 3.1415;

【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)

Javascript對(duì)象的寫(xiě)法

ES5的寫(xiě)法

var person = { 
    name:'itcast',
    age:13,
    say:function(){
        alert('hello')
    }
}

person.say()

【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)

還可以寫(xiě)

var person = {};
person.name='itheima';
person.age=13;
person.say = function (){alert('hello')}
person.say();

ES6的寫(xiě)法

需要注意的是, 實(shí)現(xiàn)簡(jiǎn)寫(xiě),有一個(gè)前提,必須變量名屬性名一致

//定義變量
var name='itcast';
var age=13;
//創(chuàng)建對(duì)象
var person = {
    name,
    age,
    say:function(){
        alert('hello');
    }
};
//調(diào)用
person.say()

【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)

ES6的箭頭函數(shù)

作用:

  • 定義函數(shù)新的方式
  • 改變this的指向

定義函數(shù)新的方式

//無(wú)參數(shù),無(wú)返回值
var say = ()=> {
    alert('我是無(wú)參數(shù)無(wú)返回值函數(shù)');
}
//有參數(shù),無(wú)返回值
var eat = food => {
    alert('我喜歡吃'+food);
}
//有參數(shù),有返回值
var total = (num1,num2) => {
    return num1+num2;
}

改變this的指向

如果層級(jí)比較深的時(shí)候, this的指向就變成了window, 這時(shí)候就可以通過(guò)箭頭函數(shù)解決這個(gè)指向的問(wèn)題

var person = {
    name:'itcast',
    age:13,
    say:function(){
        alert('my name is ' + this.name);
    }
}
//調(diào)用
person.say()

實(shí)例生命周期(了解)

【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)

各個(gè)生命周期函數(shù)的作用

  • beforeCreate

    • vm對(duì)象實(shí)例化之前
  • created

    • vm對(duì)象實(shí)例化之后
  • beforeMount

    • vm將作用標(biāo)簽之前
  • mounted(重要時(shí)機(jī)初始化數(shù)據(jù)使用)

    • vm將作用標(biāo)簽之后
  • beforeUpdate

    • 數(shù)據(jù)或者屬性更新之前
  • updated

    • 數(shù)據(jù)或者屬性更新之后

axios發(fā)送ajax請(qǐng)求

axios github

準(zhǔn)備工程

創(chuàng)建一個(gè)django工程,例如 login.創(chuàng)建完成之后,再創(chuàng)建一個(gè)子應(yīng)用,例如users.最后再設(shè)置一下模板文件

【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)

準(zhǔn)備html和html顯示

在模板文件中創(chuàng)建一個(gè)axios.html,內(nèi)容如下

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <!-- 開(kāi)發(fā)環(huán)境版本 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
  <span>{{ message }}</span> <br>
  <a href="javascript:;">登錄</a> <br>
</div>
</body>
<script type="text/javascript">
var app = new Vue({
    el: '#app',
    delimiters:["[[","]]"],
    data: {
        message: 'Hello Vue!',
    },
})
</script>
</html>

創(chuàng)建視圖并加載模板的html

  
  
#url設(shè)置
  
  
from django.conf.urls import url
from users.views import ShowLoginView

urlpatterns = [
    url(r'^show/$',ShowLoginView.as_view()),
]

  
  
#視圖
  
  
class ShowLoginView(View):

    def get(self,request):

        return render(request,'axios.html')

導(dǎo)入axios,并發(fā)送GET/POST請(qǐng)求

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <!-- 開(kāi)發(fā)環(huán)境版本 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <!-- 導(dǎo)入axios -->
  <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
<div id="app">
  <span>{{ message }}</span> <br>
  <span>[[ message ]]</span> <br>
  <a @click="login" href="javascript:;">登錄-GET</a> <br>
  <a @click="login2" href="javascript:;">登錄-GET2</a> <br>
  <a @click="login3" href="javascript:;">登錄-POST</a> <br>
</div>
</body>
<script type="text/javascript">
var app = new Vue({
    el: '#app',
    delimiters:["[[","]]"],
    data: {
        message: 'Hello Vue!',
    },
    methods:{
        login:function(){
            let url = 'http://127.0.0.1:8000/login/?username=admin&password=123';
            axios.get(url).then(response=>{
                if(response.data.code == '200'){
                  this.message=response.data.info.username;
                }else if (response.data.code == '400') {
                  this.message=response.data.msg;
                }
            }).catch(error=>{
              console.log(error)
            })
        },
        login2:function(){
            let url = 'http://127.0.0.1:8000/login/';
            axios.get(url,{
                params:{
                    "username":"admin",
                    "password":"123"
                }
            }).then(response=>{
                if(response.data.code == '200'){
                  this.message=response.data.info.username;
                }else if (response.data.code == '400') {
                  this.message=response.data.msg;
                }
            }).catch(error=>{
              console.log(error)
            })
        },
         login3:function(){
            let url = 'http://127.0.0.1:8000/login/';
            axios.post(url,{
                "username":"admin",
                "password":"123"
            }).then(response=>{
                if(response.data.code == '200'){
                  this.message=response.data.info.username;
                }else if (response.data.code == '400') {
                  this.message=response.data.msg;
                }
            }).catch(error=>{
              console.log(error)
            })
        }
    }
})
</script>
</html>

1.因?yàn)閂ue的模板變量和django的模板變量分隔符沖突,所以需要修改Vue的分隔符delimiters:["[[","]]"]

2.箭頭函數(shù)解決這個(gè)指向的問(wèn)題文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-825156.html

后臺(tái)代碼

  
  
#定義路由
  
  
from django.conf.urls import url
from users.views import ShowLoginView, LoginView

urlpatterns = [
    url(r'^show/$',ShowLoginView.as_view()),
    url(r'^login/$',LoginView.as_view()),
]
  
  
#定義視圖
  
  
class LoginView(View):
    def get(self, request):
        #獲取參數(shù)
        username = request.GET.get('username')
        password = request.GET.get('password')
        #驗(yàn)證參數(shù)并返回相應(yīng)
        if username == 'admin' and password == '123':
            return JsonResponse({'code': 200, 'msg':'ok','info': {'username': username, 'user_id': '666'}})
        else:
            return JsonResponse({'code': 400,'msg':'賬號(hào)或密碼錯(cuò)誤'})

    def post(self, request):
        # 獲取參數(shù)
        data = json.loads(request.body.decode())
        username = data.get('username')
        password = data.get('password')
        # 驗(yàn)證參數(shù)并返回相應(yīng)
        if username == 'admin' and password == '123':
            return JsonResponse({'code': 200, 'msg':'ok','info': {'username': username, 'user_id': '666'}})
        else:
            return JsonResponse({'code': 400,'msg':'賬號(hào)或密碼錯(cuò)誤'})

到了這里,關(guān)于【Vue前端】vue使用筆記0基礎(chǔ)到高手第2篇:Vue進(jìn)階知識(shí)點(diǎn)介紹(附代碼,已分享)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 持續(xù)不斷更新中... 自己整理的一些前端知識(shí)點(diǎn)以及前端面試題,包括vue2,vue3,js,ts,css,微信小程序等

    答: 在普通的前端項(xiàng)目工程中,在script標(biāo)簽中增加setup即可使用api 使用setup()鉤子函數(shù) 答: 不要在計(jì)算屬性中進(jìn)行異步請(qǐng)求或者更改DOM 不要直接修改computed的值 區(qū)別: 計(jì)算屬性值基于其響應(yīng)式依賴(lài)被緩存,意思就是只要他之前的依賴(lài)不發(fā)生變化,那么調(diào)用他只會(huì)返回之前緩

    2024年02月11日
    瀏覽(58)
  • Vue 常考基礎(chǔ)知識(shí)點(diǎn)

    在 beforeCreate 鉤子函數(shù)調(diào)用的時(shí)候,是獲取不到 props 或者 data 中的數(shù)據(jù)的,因?yàn)檫@些數(shù)據(jù)的初始化都在 initState 中。 然后會(huì)執(zhí)行 created 鉤子函數(shù),在這一步的時(shí)候已經(jīng)可以訪問(wèn)到之前不能訪問(wèn)到的數(shù)據(jù),但是這時(shí)候組件還沒(méi)被掛載,所以是看不到的。 接下來(lái)會(huì)先執(zhí)行 beforeM

    2024年02月11日
    瀏覽(29)
  • GuLi商城-前端基礎(chǔ)Vue-使用Vue腳手架進(jìn)行模塊化開(kāi)發(fā)

    GuLi商城-前端基礎(chǔ)Vue-使用Vue腳手架進(jìn)行模塊化開(kāi)發(fā)

    自己親自實(shí)踐: mac安裝webpack 前提:已經(jīng)安裝node.js,可以參考 https://blog.csdn.net/ZHOU_VIP/article/details/128807814?spm=1001.2014.3001.5501 webpack 安裝 首先確認(rèn)一下是否已經(jīng)安裝: webpack -v 如果提示? command not found: webpack ,則表示未安裝。 在Mac OS上安裝webpack,需要先安裝Node.js和npm。建議

    2024年02月11日
    瀏覽(25)
  • Vue.js知識(shí)點(diǎn)學(xué)習(xí)的一點(diǎn)筆記

    Vue.js知識(shí)點(diǎn)學(xué)習(xí)的一點(diǎn)筆記

    目錄 一、虛擬DOM? 二、MVVM 三、數(shù)據(jù)代理 四、事件修飾 五、鍵盤(pán)事件 六、插值語(yǔ)法{{}}、方法methods、計(jì)算屬性computed 七、 監(jiān)視、深度監(jiān)視、另一種寫(xiě)法、簡(jiǎn)寫(xiě) 八、computed計(jì)算屬性和watch偵聽(tīng) 九、什么時(shí)候用箭頭函數(shù) 十、Vue偵聽(tīng)和watch偵聽(tīng)原理 十一、從Vue偵聽(tīng)原理得出,往對(duì)

    2024年02月11日
    瀏覽(19)
  • 【vue3】基礎(chǔ)知識(shí)點(diǎn)-setup語(yǔ)法糖

    【vue3】基礎(chǔ)知識(shí)點(diǎn)-setup語(yǔ)法糖

    學(xué)習(xí)vue3,都會(huì)從基礎(chǔ)知識(shí)點(diǎn)學(xué)起。了解setup函數(shù),ref,recative,watch、comptued、pinia等如何使用 今天說(shuō)vue3組合式api,setup函數(shù) 在學(xué)習(xí)過(guò)程中一開(kāi)始接觸到的是這樣的,定義數(shù)據(jù)且都要通過(guò)return返回 最新接觸到的是這樣的 兩種不同的寫(xiě)法,那區(qū)別是什么呢? 其實(shí)在script標(biāo)簽上直

    2024年02月13日
    瀏覽(18)
  • 【前端Vue】Vue從0基礎(chǔ)完整教程第1篇:vue基本概念,vue-cli的使用【附代碼文檔】

    【前端Vue】Vue從0基礎(chǔ)完整教程第1篇:vue基本概念,vue-cli的使用【附代碼文檔】

    Vue從0基礎(chǔ)到大神學(xué)習(xí)完整教程完整教程(附代碼資料)主要內(nèi)容講述:vue基本概念,vue-cli的使用,vue的插值表達(dá)式,{{ gaga }},{{ if (obj.age 18 ) { } }},vue指令,綜合案例 - 文章標(biāo)題編輯vue介紹,開(kāi)發(fā)vue的方式,基本使用,如何覆蓋webpack配置,目錄分析與清理,vue單文件組件的說(shuō)明,

    2024年03月09日
    瀏覽(31)
  • 從vue小白到高手,從一個(gè)內(nèi)容管理網(wǎng)站開(kāi)始實(shí)戰(zhàn)開(kāi)發(fā)第八天,登錄功能后臺(tái)功能設(shè)計(jì)--業(yè)務(wù)邏輯層基礎(chǔ)接口和基礎(chǔ)服務(wù)實(shí)現(xiàn)

    上一篇我們介紹了項(xiàng)目后續(xù)要使用到的工具類(lèi),關(guān)于工具類(lèi)的創(chuàng)建可以查看 從vue小白到高手,從一個(gè)內(nèi)容管理網(wǎng)站開(kāi)始實(shí)戰(zhàn)開(kāi)發(fā)第七天,登錄功能后臺(tái)功能設(shè)計(jì)--通用分頁(yè)、枚舉以及相關(guān)工具類(lèi)-CSDN博客 文章瀏覽閱讀2次。本次內(nèi)容主要介紹了項(xiàng)目后續(xù)用到的部分工具類(lèi),這些

    2024年01月22日
    瀏覽(19)
  • 前端筆記之vue3 之 render函數(shù)和createVNode函數(shù)使用

    前端筆記之vue3 之 render函數(shù)和createVNode函數(shù)使用

    初學(xué)vue3的時(shí)候倒是扒了一點(diǎn)點(diǎn)源碼,似是而非,而且一直做的工作都是很簡(jiǎn)單的功能,怎么說(shuō)呢,ui框架也幾乎讓我很容易的就可以寫(xiě)出一個(gè)成型的頁(yè)面,有時(shí)就忘了初學(xué)的時(shí)候的一些心得。 本內(nèi)容只說(shuō)createVNode函數(shù)的用法,不做源碼探究 效果圖: 雖然在日常中這么寫(xiě)特別

    2024年02月07日
    瀏覽(27)
  • 前端筆記(4) Vue3 全局屬性 app.config.globalProperties 使用案例

    前端筆記(4) Vue3 全局屬性 app.config.globalProperties 使用案例

    學(xué)習(xí)Vue3有個(gè)把月了,記錄下學(xué)習(xí)中的小知識(shí)點(diǎn)。 首先很多同學(xué)還沒(méi)找到Vue3真正的官方文檔,下面給出Vue3的文檔網(wǎng)站 Vue3官網(wǎng)文檔 Vue3API文檔 官方解釋?zhuān)阂粋€(gè)用于注冊(cè)能夠被應(yīng)用內(nèi)所有組件實(shí)例訪問(wèn)到的全局 property 的對(duì)象。 案例: 首先有一個(gè)請(qǐng)求后端接口的方法 在main.ts文

    2024年02月12日
    瀏覽(23)
  • 前端Vue入門(mén)-day06-路由進(jìn)階

    前端Vue入門(mén)-day06-路由進(jìn)階

    (創(chuàng)作不易,感謝有你,你的支持,就是我前行的最大動(dòng)力,如果看完對(duì)你有幫助,請(qǐng)留下您的足跡) 目錄 路由的封裝抽離 聲明式導(dǎo)航 導(dǎo)航鏈接? 兩個(gè)類(lèi)名? 自定義高亮類(lèi)名? 跳轉(zhuǎn)傳參 1. 查詢(xún)參數(shù)傳參 2. 動(dòng)態(tài)路由傳參 兩種傳參方式的區(qū)別? Vue路由? 重定向 404 編程式導(dǎo)航

    2024年02月14日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包