亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

vue-api之mixins混入

標簽:
Vue.js

平时vue官网介绍的api一般不用到都很少回去关注,这次在一个github的一个开源项目中又看到一个mixins这个api。
官方的文档说明是这样的:

mixins 选项接受一个混入对象的数组。这些混入实例对象可以像正常的实例对象一样包含选项,他们将在 Vue.extend() 里最终选择使用相同的选项合并逻辑合并。举例:如果你的混入包含一个钩子而创建组件本身也有一个,两个函数将被调用。 Mixin 钩子按照传入顺序依次调用,并在调用组件自身的钩子之前被调用。

!!!先提一下这里官方不建议我们将mixins用到全局,不然有可能会影响到一些第三方插件。
意思就是说一些某几个页面在如created或者mounted这样的生命周期中要执行的方法可以统一封装到一个公共的js中然后再需要的页面通过mixins这个api来使用,这样在这个页面中的生命周期中就会有mixins中的方法了。
这里的程序执行顺序会先执行mixins的方法完成之后才会去执行页面生命周期中的方法,mixins的执行顺序是按照引入的顺序进行的。
mixins.js

export default {   data() {     return {       mixinsMsg: 'it is mixins'     }   },   created() {     console.log(this.mixinsMsg, 'mixins created')   },   mounted() {     console.log(this.mixinsMsg, 'mixins mounted')   } }

mixins2.js

export default {   data() {     return {       mixinsMsg: 'it is mixins2'     }   },   created() {     console.log(this.mixinsMsg, 'mixins2 created')   },   mounted() {     console.log(this.mixinsMsg, 'mixins2 mounted')   } }

mixins.vue

<template>   <div class='mixins'>     mixins   </div> </template> <script> import mixin from '../../util/mixins.js' import mixin2 from '../../util/mixins2.js' export default {   data() {     return {       mixinsParents: 'mixinsParents'     };   },   mixins: [mixin,mixin2],   created() {     console.log(this.mixinsParents, this.mixinsMsg, 'parents created')   },   mounted() {     console.log(this.mixinsParents, this.mixinsMsg, 'parents mounted')   } } </script> <style scoped>    </style>

执行结果

https://img1.sycdn.imooc.com//5d8ef7180001391103850162.jpg

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
6
獲贊與收藏
35

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消