在vue中使用export?default導(dǎo)出的class類(lèi)方式
更新時(shí)間:2022年03月31日 08:37:44 作者:ldz_miantiao
這篇文章主要介紹了在vue中使用export?default導(dǎo)出的class類(lèi)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
使用export default導(dǎo)出class類(lèi)
首先我們要?jiǎng)?chuàng)建一個(gè)類(lèi)并導(dǎo)出
class win { ? getProcessInfo() { ? ? return 233; ? } } export default new win(); //用的是export default方法,并且導(dǎo)出的時(shí)候就已經(jīng)實(shí)例化了
在vue文件中引用
..... ..這里是template... ..... <script> import win from "這里是路徑"; export default { ? data() { ? ? return {}; ? }, ? methods: { ? ? getProcessInfoFn() { ? ? ? console.log(win.getProcessInfo()); //233 ? ? } ? } }; </script>
關(guān)于export的多種導(dǎo)出形式
require
:node和es6都支持的引入export
/import
:只有es6 支持的導(dǎo)出引入module.exports
/exports
:只有 node 支持的導(dǎo)出
1、文件中存在多個(gè)export的時(shí)候
//module.ts文件 export class Modulea{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } export class Moduleb{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } export class Modulec{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } }
//ceshi.vue文件 <template> ? ? <div class='ceshi'> ? ? ? ?? ? ? </div> </template> ? <script lang='ts'> import { Component,Vue } from 'vue-property-decorator'; import {Modulea,Moduleb,Modulec} from '@/assets/module.ts' /*? 第二種方式 import * as module from '@/assets/module.ts' */ @Component export default class ceshi extends Vue { ? ? private mounted(){ ? ? ? ? new Modulea("模塊A"); ? ? ? ? new Moduleb("模塊B"); ? ? ? ? new Modulec("模塊C"); ? ? ? ? /* 第二種方式調(diào)用 ? ? ? ? new module.Modulea("模塊A"); ? ? ? ? new module.Moduleb("模塊B"); ? ? ? ? new module.Modulec("模塊C"); ? ? ? ? */ ? ? } } </script> ? <style lang='less' scoped> ? ?? </style>
2、使用export default時(shí)
//module.ts文件 export default class Modulea{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } ? ? newB(params:string){ ? ? ? ? new Moduleb(params); ? ? } ? ? newC(params:string){ ? ? ? ? new Modulec(params) ? ? } } class Moduleb{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } class Modulec{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } }
<template> ? ? <div class='ceshi'> ? ? ? ?? ? ? </div> </template> ? <script lang='ts'> import { Component,Vue } from 'vue-property-decorator'; import module from '@/assets/module.ts' @Component export default class ceshi extends Vue { ? ? private mounted(){ ? ? ? ? let modulea = new module("模塊A"); ? ? ? ? modulea.newB("模塊B"); ? ? ? ? modulea.newC("模塊C"); ? ? } } </script> ? <style lang='less' scoped> ? ?? </style>
3、單個(gè)export且不使用default時(shí)
引用方式同第一種情況
//module.ts class Modulea{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } ? ? newB(params:string){ ? ? ? ? new Moduleb(params); ? ? } ? ? newC(params:string){ ? ? ? ? new Modulec(params) ? ? } } class Moduleb{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } class Modulec{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } export { ? ? Modulea,Moduleb,Modulec }
4、單個(gè)export使用default時(shí)
//module.ts文件 class Modulea{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } ? ? newB(params:string){ ? ? ? ? new Moduleb(params); ? ? } ? ? newC(params:string){ ? ? ? ? new Modulec(params) ? ? } } class Moduleb{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } class Modulec{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } export default { ? ? Modulea,Moduleb,Modulec }
//ceshi.vue文件 <template> ? ? <div class='ceshi'> ? ? ? ?? ? ? </div> </template> ? <script lang='ts'> import { Component,Vue } from 'vue-property-decorator'; import module from '@/assets/module.ts' @Component export default class ceshi extends Vue { ? ? private mounted(){ ? ? ? ? new module.Modulea("模塊A"); ? ? ? ? new module.Moduleb("模塊B"); ? ? ? ? new module.Modulec("模塊C"); ? ? } } </script> ? <style lang='less' scoped> ? ?? </style>
5、使用module.exports時(shí)
//module.ts文件 class Modulea{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } ? ? newB(params:string){ ? ? ? ? new Moduleb(params); ? ? } ? ? newC(params:string){ ? ? ? ? new Modulec(params) ? ? } } class Moduleb{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } class Modulec{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } module.exports = { ? ? Modulea,Moduleb,Modulec }
//ceshi.vue文件 <template> ? ? <div class='ceshi'> ? ? ? ?? ? ? </div> </template> ? <script lang='ts'> import { Component,Vue } from 'vue-property-decorator'; let module = require('@/assets/module.ts'); @Component export default class ceshi extends Vue { ? ? private mounted(){ ? ? ? ? new module.Modulea("模塊A"); ? ? ? ? new module.Moduleb("模塊B"); ? ? ? ? new module.Modulec("模塊C"); ? ? } } </script> ? <style lang='less' scoped> ? ?? </style>
6、exports
//module.ts文件 class Modulea{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } ? ? newB(params:string){ ? ? ? ? new Moduleb(params); ? ? } ? ? newC(params:string){ ? ? ? ? new Modulec(params) ? ? } } class Moduleb{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } class Modulec{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } exports.ex= { ? ? Modulea,Moduleb,Modulec }
//ceshi.vue文件 <template> ? ? <div class='ceshi'> ? ? ? ?? ? ? </div> </template> ? <script lang='ts'> import { Component,Vue } from 'vue-property-decorator'; let module = require('@/assets/module.ts'); @Component export default class ceshi extends Vue { ? ? private mounted(){ ? ? ? ? new module.ex.Modulea("模塊A"); ? ? ? ? new module.ex.Moduleb("模塊B"); ? ? ? ? new module.ex.Modulec("模塊C"); ? ? } } </script> ? <style lang='less' scoped> ? ?? </style>
7、exports第二種寫(xiě)法
//module.ts文件 class Modulea{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } ? ? newB(params:string){ ? ? ? ? new Moduleb(params); ? ? } ? ? newC(params:string){ ? ? ? ? new Modulec(params) ? ? } } class Moduleb{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } class Modulec{ ? ? constructor(public params:string){ ? ? ? ? console.log(params); ? ? } } exports.Modulea = Modulea exports.Moduleb = Moduleb exports.Modulec = Modulec
<template> ? ? <div class='ceshi'> ? ? ? ?? ? ? </div> </template> ? <script lang='ts'> import { Component,Vue } from 'vue-property-decorator'; let module = require('@/assets/module.ts'); @Component export default class ceshi extends Vue { ? ? private mounted(){ ? ? ? ? new module.Modulea("模塊A"); ? ? ? ? new module.Moduleb("模塊B"); ? ? ? ? new module.Modulec("模塊C"); ? ? } } </script> ? <style lang='less' scoped> ? ?? </style>
8、混合導(dǎo)出
//default.js function add(a,b){ ? ? return a + b; } ? function dist(a,b){ ? ? return a - b; } export { dist } export default add; ? //index.js import add,{dist} from "./default.js" ?
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue組件實(shí)現(xiàn)首次加載就觸發(fā)watch
這篇文章主要介紹了vue組件實(shí)現(xiàn)首次加載就觸發(fā)watch方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Vue CLI3創(chuàng)建項(xiàng)目部署到Tomcat 使用ngrok映射到外網(wǎng)
這篇文章主要介紹了Vue CLI3創(chuàng)建項(xiàng)目部署到Tomcat 使用ngrok映射到外網(wǎng),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05vue-router路由懶加載及實(shí)現(xiàn)的3種方式
這篇文章主要給大家介紹了關(guān)于vue-router路由懶加載及實(shí)現(xiàn)的3種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02利用vue開(kāi)發(fā)一個(gè)所謂的數(shù)獨(dú)方法實(shí)例
數(shù)獨(dú)是源自18世紀(jì)瑞士的一種數(shù)學(xué)游戲,是一種運(yùn)用紙、筆進(jìn)行演算的邏輯游戲。下面這篇文章主要給大家介紹了關(guān)于利用vue開(kāi)發(fā)一個(gè)所謂的數(shù)獨(dú)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-12-12