一、axios合并请求
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)) //分发响应 .catch(err => { console.log(err) }) } }
这样可以实现发送两个请求,只有所有都成功,才算是成功。只要有一个失败,就算是失败。
二、插槽slot
1.基本用法
插槽的出现使得我们可以在使用子组件时在子组件内新增内容,而不仅仅是简单的使用,呈现出多样化的子组件。
<navigation-link> Your Profile </navigation-link>
当我们使用子组件navigation
时,在子组件中写入一些内容,但是如果我们子组件的template
中没有一个插槽slot
,那么我们写入的Your Profile
没有的地方放,子组件怎么知道要放在哪里呢,不知道放在哪里,所以它就干脆不放了,会把写的内容抛弃,大家就当无事发生过,子组件里怎么写,它就怎么呈现,全然不顾你在使用时写入的东西,当做没有看见。
但是如果我们在子组件中写入了一个插槽slot
,那么我们传入的内容将会被在这个插槽处呈现。像下面这样
<a v-bind:href="url" rel="external nofollow" rel="external nofollow" class="nav-link"> <slot></slot> </a>
渲染出来的结果将是:
<a v-bind:href="url" rel="external nofollow" rel="external nofollow" class="nav-link"> Your Profile </a>
2.具名插槽
有时候,我们需要在子组件中放置多个内容,那么你只有一个slot
,它只能全部放在这里(其实我也不知道是不是这样我没有试过),如果你有多个slot
,它怎么知道哪个内容要放在哪个slot
,按顺序放吗?不是的(其实我也不知道是不是)。正确的做法就是使用具名插槽。所谓具名插槽就是一个带有name
的slot
。也就是下面这样
<!--base-layout.vue--> <div class="container"> <header> <slot name="header"></slot> </header> <main> <slot></slot> <!--默认插槽--> </main> <footer> <slot name="footer"></slot> </footer> </div>
然后在使用上面这个子组件时像下面这样
<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>
在使用时,通过一个具有slot
属性的标签,属性值对应slot
的name
,将内容放到子组件的相应位置上去。
我们注意到,里面有一个没有指定name
的slot
,它就是默认插槽。所有在使用子组件时传入的东西,只要没有指定slot='slot的name'
,就都会放在这里。
我们还注意到,这里用的一个叫做template
的标签,一定要用它吗?不是的,也可以直接放在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>
但是,如果你并不只有一个h1
,你还有其他内容也要一起放在这个插槽里,那你能怎么办,为每一个要放在插槽里的标签加slot
吗?太麻烦啦!所以就一起放在template
里面,给template
加slot
咯。
3.插槽的默认内容
有时候,我们也需要为某个插槽指定默认内容。比如一个按钮,默认显示是 submit ,但我们有时在复用它的时候,我们又想改成别的,这个时候,就可以把这个按钮的 submit 放在slot
里面,然后在使用这个子组件的时候,放你要改的东西去改变它。如果没有放,那就是默认的 submit。
<button type="submit"> <slot>Submit</slot> <!--Submit就是插槽的默认内容--> </button>
4.作用域
在插槽中传值时,如果想要使用数据,这个数据应该是父组件的,而不能是子组件的。也就是说是使用子组件的那个组件的data
。
<navigation-link url="/profile"> Logged in as {{ user.name }} </navigation-link>
这里的user不是navigation-link
的,而是父组件的
牢记一条准则:父组件模板的所有东西都会在父级作用域内编译;子组件模板的所有东西都会在子级作用域内编译。
5.作用域插槽 【2.1.0+ 新增】(我也不知道为什么要叫这个名字,和插槽的作用于太像,很容易搞混啊)
上面我们提到,插槽是具有作用于的,且当我们在使用子组件时,是无法获取子组件的数据的。而有时,我们又需要获取它,那么应该怎么办呢?
比如一个名为todo-list
的子组件,它的内容如下:
<ul> <li v-for="todo in todos" v-bind:key="todo.id"> {{ todo.text }} </li> </ul>
这时,这里所获取的数据是子组件自己内部的数据。而我们在使用这个子组件时是无法获取它的(当然我们可以用以前学习过的父子组件间的通讯来实现),我们可以利用slot
来达到这个目的
<ul> <li v-for="todo in todos" v-bind:key="todo.id" > <!-- 我们为每个 todo 准备了一个插槽,--> <!-- 将 `todo` 对象作为一个插槽的 prop 传入。--> <slot v-bind:todo="todo"> <!-- 回退的内容 --> {{ todo.text }} </slot> </li> </ul>
然后当我们使用todo-list组件的是时候,可以这样做
<todo-list v-bind:todos="todos"> <!-- 将 `slotProps` 定义为插槽作用域的名字 --> <template slot-scope="slotProps"> <!-- 为待办项自定义一个模板,--> <!-- 通过 `slotProps` 定制每个待办项。--> <span v-if="slotProps.todo.isComplete">✓</span> {{ slotProps.todo.text }} </template> </todo-list>
这时即使我们是在父组件中,也还是可以获取到子组件的数据。其中slotProps
只是一个名字,我们用slot-scope
指定为什么名字,就可以在下面用xx.
来获取子组件的data
在 2.5.0+,slot-scope 不再限制在 <template> 元素上使用,而可以用在插槽内的任何元素或组件上。
以上就是详解vue中的axios和slot的详细内容,更多关于vue axios和slot的资料请关注其它相关文章!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]