最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue基礎(chǔ)知識(shí)--axios合并請(qǐng)求和slot

 更新時(shí)間:2020年06月04日 10:16:15   作者:許小花花  
這篇文章主要介紹了vue中的axios和slot,文中代碼非常詳細(xì),對(duì)大家的工作學(xué)習(xí)有所幫助,感興趣的朋友可以參考下

一、axios合并請(qǐng)求

export default {
  data(){
    return {}
  },
  created(){
    function getMsg(res1,res2){
      console.log(res1)
      console.log(res2)
    }
    this.$axios.all([
        this,axios.post('URL','key=value'),
        this.axios.get('URL')
      ])
      .then(this.$axios.spread(getMsg)) //分發(fā)響應(yīng)
      .catch(err => { 
        console.log(err)
      })
  }
}

這樣可以實(shí)現(xiàn)發(fā)送兩個(gè)請(qǐng)求,只有所有都成功,才算是成功。只要有一個(gè)失敗,就算是失敗。

二、插槽slot

1.基本用法

插槽的出現(xiàn)使得我們可以在使用子組件時(shí)在子組件內(nèi)新增內(nèi)容,而不僅僅是簡(jiǎn)單的使用,呈現(xiàn)出多樣化的子組件。

<navigation-link>
 Your Profile
</navigation-link>

當(dāng)我們使用子組件navigation時(shí),在子組件中寫入一些內(nèi)容,但是如果我們子組件的template中沒(méi)有一個(gè)插槽slot,那么我們寫入的Your Profile沒(méi)有的地方放,子組件怎么知道要放在哪里呢,不知道放在哪里,所以它就干脆不放了,會(huì)把寫的內(nèi)容拋棄,大家就當(dāng)無(wú)事發(fā)生過(guò),子組件里怎么寫,它就怎么呈現(xiàn),全然不顧你在使用時(shí)寫入的東西,當(dāng)做沒(méi)有看見(jiàn)。
但是如果我們?cè)谧咏M件中寫入了一個(gè)插槽slot,那么我們傳入的內(nèi)容將會(huì)被在這個(gè)插槽處呈現(xiàn)。像下面這樣

<a v-bind:href="url" rel="external nofollow" rel="external nofollow" class="nav-link">
 <slot></slot>
</a>

渲染出來(lái)的結(jié)果將是:

<a v-bind:href="url" rel="external nofollow" rel="external nofollow"  class="nav-link">
  Your Profile
</a>

2.具名插槽

有時(shí)候,我們需要在子組件中放置多個(gè)內(nèi)容,那么你只有一個(gè)slot,它只能全部放在這里(其實(shí)我也不知道是不是這樣我沒(méi)有試過(guò)),如果你有多個(gè)slot,它怎么知道哪個(gè)內(nèi)容要放在哪個(gè)slot,按順序放嗎?不是的(其實(shí)我也不知道是不是)。正確的做法就是使用具名插槽。所謂具名插槽就是一個(gè)帶有nameslot。也就是下面這樣

<!--base-layout.vue-->
<div class="container">
 <header>
  <slot name="header"></slot>
 </header>
 <main>
  <slot></slot> <!--默認(rèn)插槽-->
 </main>
 <footer>
  <slot name="footer"></slot>
 </footer>
</div>

然后在使用上面這個(gè)子組件時(shí)像下面這樣

<base-layout>
 <template slot="header">
  <h1>Here might be a page title</h1>
 </template>

 <p>A paragraph for the main content.</p>
 <p>And another one.</p>

 <template slot="footer">
  <p>Here's some contact info</p>
 </template>
</base-layout>

在使用時(shí),通過(guò)一個(gè)具有slot屬性的標(biāo)簽,屬性值對(duì)應(yīng)slotname,將內(nèi)容放到子組件的相應(yīng)位置上去。

我們注意到,里面有一個(gè)沒(méi)有指定nameslot,它就是默認(rèn)插槽。所有在使用子組件時(shí)傳入的東西,只要沒(méi)有指定slot='slot的name',就都會(huì)放在這里。

我們還注意到,這里用的一個(gè)叫做template的標(biāo)簽,一定要用它嗎?不是的,也可以直接放在h1或者p上面,像下面這樣

<base-layout>
 <h1 slot="header">Here might be a page title</h1>

 <p>A paragraph for the main content.</p>
 <p>And another one.</p>

 <p slot="footer">Here's some contact info</p>
</base-layout>

但是,如果你并不只有一個(gè)h1,你還有其他內(nèi)容也要一起放在這個(gè)插槽里,那你能怎么辦,為每一個(gè)要放在插槽里的標(biāo)簽加slot嗎?太麻煩啦!所以就一起放在template里面,給templateslot咯。

3.插槽的默認(rèn)內(nèi)容

有時(shí)候,我們也需要為某個(gè)插槽指定默認(rèn)內(nèi)容。比如一個(gè)按鈕,默認(rèn)顯示是 submit ,但我們有時(shí)在復(fù)用它的時(shí)候,我們又想改成別的,這個(gè)時(shí)候,就可以把這個(gè)按鈕的 submit 放在slot里面,然后在使用這個(gè)子組件的時(shí)候,放你要改的東西去改變它。如果沒(méi)有放,那就是默認(rèn)的 submit。

<button type="submit">
 <slot>Submit</slot> <!--Submit就是插槽的默認(rèn)內(nèi)容-->
</button>

4.作用域

在插槽中傳值時(shí),如果想要使用數(shù)據(jù),這個(gè)數(shù)據(jù)應(yīng)該是父組件的,而不能是子組件的。也就是說(shuō)是使用子組件的那個(gè)組件的data

<navigation-link url="/profile">
 Logged in as {{ user.name }} 
</navigation-link>

這里的user不是navigation-link的,而是父組件的

牢記一條準(zhǔn)則:父組件模板的所有東西都會(huì)在父級(jí)作用域內(nèi)編譯;子組件模板的所有東西都會(huì)在子級(jí)作用域內(nèi)編譯。

5.作用域插槽 【2.1.0+ 新增】(我也不知道為什么要叫這個(gè)名字,和插槽的作用于太像,很容易搞混?。?/p>

上面我們提到,插槽是具有作用于的,且當(dāng)我們?cè)谑褂米咏M件時(shí),是無(wú)法獲取子組件的數(shù)據(jù)的。而有時(shí),我們又需要獲取它,那么應(yīng)該怎么辦呢?

比如一個(gè)名為todo-list的子組件,它的內(nèi)容如下:

<ul>
 <li v-for="todo in todos"  v-bind:key="todo.id">
  {{ todo.text }}
 </li>
</ul>

這時(shí),這里所獲取的數(shù)據(jù)是子組件自己內(nèi)部的數(shù)據(jù)。而我們?cè)谑褂眠@個(gè)子組件時(shí)是無(wú)法獲取它的(當(dāng)然我們可以用以前學(xué)習(xí)過(guò)的父子組件間的通訊來(lái)實(shí)現(xiàn)),我們可以利用slot來(lái)達(dá)到這個(gè)目的

<ul>
 <li v-for="todo in todos" v-bind:key="todo.id" >
  <!-- 我們?yōu)槊總€(gè) todo 準(zhǔn)備了一個(gè)插槽,-->
  <!-- 將 `todo` 對(duì)象作為一個(gè)插槽的 prop 傳入。-->
  <slot v-bind:todo="todo">
   <!-- 回退的內(nèi)容 -->
   {{ todo.text }}
  </slot>
 </li>
</ul>

然后當(dāng)我們使用todo-list組件的是時(shí)候,可以這樣做

<todo-list v-bind:todos="todos">
 <!-- 將 `slotProps` 定義為插槽作用域的名字 -->
 <template slot-scope="slotProps">
  <!-- 為待辦項(xiàng)自定義一個(gè)模板,-->
  <!-- 通過(guò) `slotProps` 定制每個(gè)待辦項(xiàng)。-->
  <span v-if="slotProps.todo.isComplete">✓</span>
  {{ slotProps.todo.text }}
 </template>
</todo-list>

這時(shí)即使我們是在父組件中,也還是可以獲取到子組件的數(shù)據(jù)。其中slotProps只是一個(gè)名字,我們用slot-scope指定為什么名字,就可以在下面用xx.來(lái)獲取子組件的data
在 2.5.0+,slot-scope 不再限制在 <template> 元素上使用,而可以用在插槽內(nèi)的任何元素或組件上。

以上就是詳解vue中的axios和slot的詳細(xì)內(nèi)容,更多關(guān)于vue axios和slot的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue之proxyTable代理超全面配置方式

    vue之proxyTable代理超全面配置方式

    本文作者分享了使用Vue進(jìn)行代理配置的個(gè)人經(jīng)驗(yàn),介紹了如何使用proxyTable進(jìn)行跨域請(qǐng)求配置,并提供了具體的配置文件和使用方法,便于同行參考和學(xué)習(xí)
    2024-10-10
  • vue.config.js中配置configureWebpack和chainWebpack以及一些常用的配置

    vue.config.js中配置configureWebpack和chainWebpack以及一些常用的配置

    configureWebpack和chainWebpack都是Vue CLI中用于修改Webpack配置的工具,configureWebpack可以通過(guò)對(duì)象或函數(shù)修改配置,簡(jiǎn)單直接;chainWebpack則使用WebpackChainAPI,適合復(fù)雜配置,兩者可以結(jié)合使用,以達(dá)到更精細(xì)的配置需求,幫助開(kāi)發(fā)者優(yōu)化項(xiàng)目構(gòu)建
    2024-10-10
  • Vant中Popover氣泡彈出框位置錯(cuò)亂問(wèn)題解決

    Vant中Popover氣泡彈出框位置錯(cuò)亂問(wèn)題解決

    這篇文章主要為大家介紹了Vant中Popover氣泡彈出框位置錯(cuò)亂問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Vue Router深扒實(shí)現(xiàn)原理

    Vue Router深扒實(shí)現(xiàn)原理

    在看這篇文章的幾點(diǎn)要求:需要你先知道Vue-Router是個(gè)什么東西,用來(lái)解決什么問(wèn)題,以及它的基本使用。如果你還不懂的話,建議上官網(wǎng)了解下Vue-Router的基本使用后再回來(lái)看這篇文章
    2022-09-09
  • VsCode工具開(kāi)發(fā)vue項(xiàng)目必裝插件清單(推薦!)

    VsCode工具開(kāi)發(fā)vue項(xiàng)目必裝插件清單(推薦!)

    對(duì)于很多使用vscode編寫vue項(xiàng)目的新手同學(xué)來(lái)說(shuō),可能不知道使用什么插件,下面這篇文章主要給大家介紹了關(guān)于VsCode工具開(kāi)發(fā)vue項(xiàng)目必裝插件的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • vue前端重構(gòu)computed及watch組件通信等實(shí)用技巧整理

    vue前端重構(gòu)computed及watch組件通信等實(shí)用技巧整理

    這篇文章主要為大家介紹了vue前端重構(gòu)computed及watch組件通信等實(shí)用技巧整理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 最新評(píng)論

    葵青区| 赣榆县| 绵竹市| 宣城市| 五峰| 通许县| 和田县| 平潭县| 陇川县| 双牌县| 远安县| 集贤县| 灵宝市| 田阳县| 定西市| 金昌市| 富宁县| 奇台县| 彝良县| 紫云| 彭山县| 保康县| 新河县| 安顺市| 遵义县| 漳州市| 稷山县| 松滋市| 灌云县| 宣恩县| 都匀市| 凤翔县| 长泰县| 内乡县| 镇远县| 阜康市| 大兴区| 南澳县| 大埔县| 丹棱县| 宾阳县|