vue實(shí)現(xiàn)組件值的累加
本文實(shí)例為大家分享了vue實(shí)現(xiàn)組件值的累加的具體代碼,供大家參考,具體內(nèi)容如下
css代碼:
<style>
? ? ? ? #myLit{
? ? ? ? ? ? border: 1px solid red;
? ? ? ? ? ? width: 100px;
? ? ? ? ? ? float: left;
? ? ? ? ? ? margin-right: 20px;
? ? ? ? }
? ? ? ? //定義不同的顏色類
? ? ? ? .red{
? ? ? ? ? ? color: red;
? ? ? ? }
? ? ? ? .olive{
? ? ? ? ? ? color: olive;
? ? ? ? }
? ? ? ? .blue{
? ? ? ? ? ? color: blue;
? ? ? ? }
</style>html代碼:
<div id="myBtn">
? ? ? ? <span>點(diǎn)贊總數(shù){{sum}}</span>
? ? ? ? //點(diǎn)贊總數(shù)遞增的按鈕,隱藏該按鈕
? ? ? ? <button @click="clickSum" id="sumZan">點(diǎn)贊</button>
? ? ? ? <p></p>
? ? ? ?<!--
? ? ? ? ? ? myfun是自定義函數(shù),命名不能出現(xiàn)大寫字母,因?yàn)槭录O(jiān)聽器在 DOM 模板中會(huì)被自動(dòng)轉(zhuǎn)換為全小寫
? ? ? ? ? ? color是自定義屬性,改變字體顏色
? ? ? ? ? ? msg是自定義按鈕值
? ? -->
? ? ? ??? ? <ui-btn @myfun="clickSum" msg="組長(zhǎng)的點(diǎn)贊"></ui-btn>
? ??? ??? ? <ui-btn @myfun="clickSum" color="olive" msg="小小的點(diǎn)贊"></ui-btn>
? ??? ??? ? <ui-btn @myfun="clickSum" color="blue"></ui-btn>
? ? </div>js代碼:
computed區(qū)別于method最重要的兩點(diǎn)
computed是屬性調(diào)用,而methods是函數(shù)調(diào)用
computed帶有緩存功能,而methods不是
<script src="../dist/vue.min.js"></script>
<script>
?? ?// 組件
? ? Vue.component("ui-btn",{/*ui-btn是自定義標(biāo)簽名*/
? ? ? ? template: ?`
? ? ? ? ? ? // html結(jié)構(gòu)
? ? ? ? ? ? <div id="myLit" :class="color">
? ? ? ? ? ? ? ? <p>點(diǎn)贊次數(shù){{count}}</p>
? ? ? ? ? ? ? ? <button @click="countFun">{{msg}}</button>
? ? ? ? ? ? </div>
? ? ? ? `,
? ? ? ? data:function () {
? ? ? ? ? ? return {
? ? ? ? ? ? ? ? // 組件里所要用到的數(shù)據(jù)
? ? ? ? ? ? ? ? count:0,
? ? ? ? ? ? }
? ? ? ? },
? ? ? ? methods:{
? ? ? ? ? ? countFun(){
? ? ? ? ? ? ? ? this.count++;
? ? ? ? ? ? ? ? // 模擬觸發(fā)sumCount函數(shù),這里實(shí)際上就是去觸發(fā)自定義事件
? ? ? ? ? ? ? ? this.$emit("myfun")
? ? ? ? ? ? }
? ? ? ? },
? ? ? ? props:{
? ? ? ? ? ? color:{
? ? ? ? ? ? ? ? type:String, //類型為字符串,若非字符串會(huì)自動(dòng)轉(zhuǎn)換
? ? ? ? ? ? ? ? default:"red" //默認(rèn)值
? ? ? ? ? ? },
? ? ? ? ? ? msg:{
? ? ? ? ? ? ? ? type:String,
? ? ? ? ? ? ? ? default:"我的點(diǎn)贊"
? ? ? ? ? ? }
? ? ? ? }
? ? })
? ? // 實(shí)例
? ? var appBtn=new Vue({
? ? ? ? el:"#myBtn",//作用域,生命周期
? ? ? ? data:{//數(shù)據(jù)
? ? ? ? ? ? sum:0
? ? ? ? },
? ? ? ? computed:{//計(jì)算屬性
?? ??? ??? ??? ?
? ??? ??? ? },
? ? ? ? methods:{
? ? ? ? ? ? clickSum(){
? ? ? ? ? ? ? ? this.sum++
? ? ? ? ? ? }
? ? ? ? }
? ? })
</script>頁(yè)面效果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue3的watch用法以及和vue2中watch的區(qū)別
這篇文章主要介紹了vue3的watch用法以及和vue2中watch的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Element-ui設(shè)置el-table表頭全選框隱藏或禁用
這篇文章主要給大家介紹了關(guān)于Element-ui設(shè)置el-table表頭全選框隱藏或禁用的相關(guān)資料,文中手把手教你實(shí)現(xiàn)el-table實(shí)現(xiàn)跨表格禁用選項(xiàng),需要的朋友可以參考下2023-07-07
Vue.js實(shí)現(xiàn)大屏數(shù)字滾動(dòng)翻轉(zhuǎn)效果
大屏數(shù)字滾動(dòng)翻轉(zhuǎn)效果來(lái)源于最近工作中element后臺(tái)管理頁(yè)面一張大屏的UI圖,該UI圖上有一個(gè)模塊需要有數(shù)字往上翻動(dòng)的效果。本文通過(guò)截圖代碼的形式給大家介紹Vue.js實(shí)現(xiàn)大屏數(shù)字滾動(dòng)翻轉(zhuǎn)效果,感興趣的朋友一起看看吧2019-11-11
vue axios 在頁(yè)面切換時(shí)中斷請(qǐng)求方法 ajax
下面小編就為大家分享一篇vue axios 在頁(yè)面切換時(shí)中斷請(qǐng)求方法 ajax,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
Vue?Router?實(shí)現(xiàn)登錄后跳轉(zhuǎn)到之前想要訪問(wèn)的頁(yè)面
這篇文章主要介紹了Vue?Router?實(shí)現(xiàn)登錄后跳轉(zhuǎn)到之前相要訪問(wèn)的頁(yè)面,本文僅演示路由跳轉(zhuǎn)和導(dǎo)航守衛(wèi)相關(guān)代碼的實(shí)現(xiàn),不包含具體的權(quán)限驗(yàn)證和登錄請(qǐng)求,需要的朋友可以參考下2022-12-12
vuex實(shí)現(xiàn)簡(jiǎn)易計(jì)數(shù)器
這篇文章主要為大家詳細(xì)介紹了vuex實(shí)現(xiàn)一個(gè)簡(jiǎn)易計(jì)數(shù)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
vue移動(dòng)端時(shí)彈出側(cè)邊抽屜菜單效果
這篇文章主要介紹了vue移動(dòng)端時(shí)彈出側(cè)邊抽屜菜單,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06

