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

vue實(shí)現(xiàn)公共方法抽離

 更新時(shí)間:2020年07月31日 11:32:51   作者:孫華鵬  
這篇文章主要介紹了vue實(shí)現(xiàn)公共方法抽離,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

demo:制作一個(gè)點(diǎn)擊按鈕增加或者減少數(shù)字

現(xiàn)在vue組件內(nèi)部測(cè)試一下功能

<template>
<div class="all">
<p>還未抽離</p>
<button @click="SubNum()">-</button>
<input type="number" v-model="number">
<button @click="AddNum()">+</button>
</div>
</template>

<script>
export default {
data() {
return {
number: 0
};
},
methods: {
SubNum() {
this.number--;
if (this.number <= 0) {
this.number = 0;
}
},
AddNum() {
this.number++;
if (this.number > 10) {
this.number = 10;
}
}
}
};
</script>

效果還可以,至少方法是對(duì)的,接下來(lái)進(jìn)行方法抽離和傳送參數(shù)

首先新建一個(gè)js文件 common.js

用es6的export default將方法導(dǎo)出

export default {
AddNum:function(){
console.log(1)
},
SubNum:function(){
console.log(2)
}
}

在main.js中用import將文件導(dǎo)入

import Common from './common'

聲明全局common

Vue.prototype.common = Common

現(xiàn)在組件內(nèi)只剩button和input,方法已經(jīng)剪切出去

<template>
<div class="all">
<p>即將抽離</p>
<button @click="common.SubNum()">-</button>
<input type="number" v-model="number">
<button @click="common.AddNum()">+</button>
</div>
</template>

<script>
export default {
data() {
return {
number: 0
};
},
methods: {}
};
</script>

<style lang="scss" scoped type="text/css">
</style>

點(diǎn)擊打印1或者2

證明方法是行得通的,現(xiàn)在將組件內(nèi)的參數(shù)傳送到方法里

傳參通過(guò)鉤子函數(shù)內(nèi)傳過(guò)去,因?yàn)橐壎c(diǎn)擊事件,所以直接在methods定義一個(gè)方法

<template>
<div class="all">
<p>已經(jīng)抽離</p>
<button @click="add(booleans)">-</button>
<input type="number" v-model="number">
<button @click="add(!booleans)">+</button>
</div>
</template>

<script>
export default {
data() {
return {
number: 0,
booleans: false
};
},
mounted() {},
methods: {
//判斷點(diǎn)擊的是加還是減
add(booleans) {
this.number = this.common.func(this.number,booleans);
}
}
};
</script>

<style lang="scss" scoped type="text/css">
</style>

這時(shí)公共方法已經(jīng)簡(jiǎn)化,這樣的話(huà) 在組件中看的比較簡(jiǎn)潔

export default {
func(num,booleans){
if(booleans){
num++
if(num>=10){
return 10
}
}else{
num--
if(num<=0){
return 0
}
}
return num
}
}

<--------文末------------>

有一個(gè)坑

<button @click="common.SubNum(number)">-</button>
<input type="number" v-model="number">
<button @click="common.AddNum(number)">+</button>
//

export default {
AddNum:function(num){
num++
if(num>=10){
return 10
}
console.log(num)
return num
},
SubNum:function(num){
num--
if(num<=0){
console.log(num)
return 0
}
return num
}
}

這個(gè)是剛開(kāi)始抽離方法 直接在@click內(nèi)傳參

但是點(diǎn)擊事件并沒(méi)有將input的內(nèi)容修改

我的理解是只是將參數(shù)傳到方法里 但是方法改變參數(shù)時(shí)并未改變input綁定的this.number

不知道各位大神有什么見(jiàn)解或者建議,共同學(xué)習(xí),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家!

相關(guān)文章

  • vue 實(shí)現(xiàn)全選全不選的示例代碼

    vue 實(shí)現(xiàn)全選全不選的示例代碼

    本篇文章主要介紹了vue 實(shí)現(xiàn)全選全不選的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • vue.js 實(shí)現(xiàn)v-model與{{}}指令方法

    vue.js 實(shí)現(xiàn)v-model與{{}}指令方法

    這篇文章主要介紹了vue.js 實(shí)現(xiàn)v-model與{{}}指令方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • vue項(xiàng)目設(shè)置活性字體過(guò)程(自適應(yīng)字體大小)

    vue項(xiàng)目設(shè)置活性字體過(guò)程(自適應(yīng)字體大小)

    這篇文章主要介紹了vue項(xiàng)目設(shè)置活性字體過(guò)程(自適應(yīng)字體大小),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue如何實(shí)現(xiàn)表單多選并且獲取其中的值

    vue如何實(shí)現(xiàn)表單多選并且獲取其中的值

    這篇文章主要介紹了vue如何實(shí)現(xiàn)表單多選并且獲取其中的值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • vue.js指令和組件詳細(xì)介紹及實(shí)例

    vue.js指令和組件詳細(xì)介紹及實(shí)例

    這篇文章主要介紹了vue.js功能介紹 - 指令,組件詳細(xì)介紹及實(shí)例,詳細(xì)的介紹了指令和組件的用法,有興趣的可以了解一下。
    2017-04-04
  • VueCli3中兼容IE11配置的艱苦歷程

    VueCli3中兼容IE11配置的艱苦歷程

    這篇文章主要介紹了VueCli3中兼容IE11配置的艱苦歷程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue 自動(dòng)化路由實(shí)現(xiàn)代碼

    vue 自動(dòng)化路由實(shí)現(xiàn)代碼

    這篇文章主要介紹了vue 自動(dòng)化路由實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • vue 中使用print.js導(dǎo)出pdf操作

    vue 中使用print.js導(dǎo)出pdf操作

    這篇文章主要介紹了vue 中使用print.js導(dǎo)出pdf操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • vue彈窗插件實(shí)戰(zhàn)代碼

    vue彈窗插件實(shí)戰(zhàn)代碼

    這篇文章主要介紹了vue彈窗插件實(shí)戰(zhàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • 如何在vue里添加好看的lottie動(dòng)畫(huà)

    如何在vue里添加好看的lottie動(dòng)畫(huà)

    這篇文章主要介紹了在vue里添加好看的lottie動(dòng)畫(huà)效果的方法,在vue中引入lottie非常簡(jiǎn)單,需要的朋友可以參考下
    2018-08-08

最新評(píng)論

沙田区| 彭水| 合肥市| 乐平市| 徐水县| 南丹县| 将乐县| 湟中县| 左权县| 玉环县| 宜阳县| 乐业县| 香港 | 叶城县| 大石桥市| 靖州| 崇义县| 望都县| 板桥市| 张家口市| 大洼县| 启东市| 巫山县| 海口市| 巫溪县| 武胜县| 霞浦县| 淮安市| 正宁县| 石门县| 泰州市| 安达市| 囊谦县| 华坪县| 富民县| 金坛市| 松桃| 庆云县| 金平| 揭西县| 哈密市|