VUE常用指令

一侮叮、指令

v-model

雙向綁定,監(jiān)聽用戶的輸入事件悼瘾,更新數(shù)據(jù)

<input v-model="message">
<input class="ipt_travelTit" type="text" v-model.trim="title" @keyup.enter="login" @keydown.up="upclick" placeholder="請(qǐng)輸入您的游記標(biāo)題" /> // 去掉input內(nèi)容前后空格 監(jiān)聽回車事件

v-bind

能夠及時(shí)對(duì)頁面的數(shù)據(jù)進(jìn)行更改

必須是變量囊榜,不能是常量

縮寫 v-bind :html屬性

'{red:isred}'

'isred ? "red" : "blue"'

'[{red: "isred"}, {blue: "isblue"}]'

v-bind:class="activeNumber === n + 1 ? 'active' : ''"
<p v-bind:class="someclass"></p>

不加 v-bind 那么 someclass 就是個(gè)常量审胸,沒有任何動(dòng)態(tài)數(shù)據(jù)參與。當(dāng)加上 v-bind 之后卸勺,它的值 someclass 不是字符串砂沛,而是vue實(shí)例對(duì)應(yīng)的 data.someclass 這個(gè)變量。

<input v-bind:value="message" v-on:input="message = $event.target.value" />
<input :value="message" @input="message = 

三目運(yùn)算 動(dòng)態(tài)class名

<input type="button" class="sumbitBtn" :class="isChecked == true? 'checked' : ''" value="確認(rèn)">

<p class="tt_ft" v-bind:class="{'ckeck' : checkAllFlag}">全選</p> // checkAllFlag為true渲染出 ckeck class名

v-on

縮寫 v-on @方法

<input :value="name" v-model="body">

v-bind 產(chǎn)生的效果不含有雙向綁定曙求,所以 :value 的效果就是讓 input的value屬性值等于 data.name 的值碍庵,而 v-model 的效果是使input和 data.body 建立雙向綁定,因此首先 data.body 的值會(huì)給input的value屬性悟狱,其次静浴,當(dāng)input中輸入的值發(fā)生變化的時(shí)候,data.body 還會(huì)跟著改變芽淡。


阻止冒泡

@click.stop=""

v-for

item in/of 數(shù)據(jù)json

<ul>
    <li v-for="item in arr">{{item.name}}</li>
</ul>

v-show

控制元素顯示與隱藏

show布爾值

<div v-show="show">
</div>

new Vue({
  el: '#box',
  data() {
    return {
      show: true
    }
  }
})

v-text

讀取文本內(nèi)容

<div>
    <p v-text="msg"></p>
</div>

new Vue({
  el: '',
  data() {
    return {
      msg: 'aaa'
    }
  }
})
v-html
<div>
    <p v-html="msg"></p>
</div>

new Vue({
  el: '',
  data() {
    return {
      html: '<p>123</p>'
    }
  }
})

v-if v-else v-else-if

只有一個(gè)會(huì)被渲染出來

v-once

只渲染一次

@click.once="show"

v-cloak 防閃爍

使用 v-cloak 防止頁面加載時(shí)出現(xiàn) vuejs 的變量名马绝,使用方法如下:在做外層的div 里面添加v-cloak,css里面display:none

<div>
    <div v-cloak="">歡迎{{msg}}</div>
</div>

new Vue({
  el: '',
  data() {
    return {
      msg: '1111'
    }
  }
})

[v-cloak] {
  display: none;
}

v-pre

在模板中跳過vue的編譯挣菲,直接輸出原始值

如下面例子網(wǎng)網(wǎng)頁會(huì)渲染出 歡迎{{msg}}

<div>
    <div v-pre>歡迎{{msg}}</div>
</div>

new Vue({
  el: '',
  data() {
    return {
      msg: '1111'
    }
  }
})

{{}} 輸出

出來變量富稻,也可以加方法

<li v-for="(item,index) in dateList" :class="item.isSign =='0' ? 'activeQ': ''" 
  key="index"
>
     {{getDay(item.id)}}
</li>
getDay (day) {
    var arr = day.split('-');
    let dayN = arr[2];
    return dayN;
}

v-if v-else v-else-if

只能執(zhí)行一個(gè)

和v-for一起使用時(shí) v-for優(yōu)先級(jí)更高

二、選項(xiàng)/數(shù)據(jù)

data 相當(dāng)于react的state

methods 模板調(diào)用的函數(shù)白胀,需寫在methods里面

props 接收父組件的數(shù)據(jù)

propsData 只存在new的示例中

var vm = new Comp({
  propsData: {
    msg: 'hello'
  }
})

偵聽屬性watch

響應(yīng)數(shù)據(jù)的變化椭赋,

<div id="watch-example">
  <p>{{ answer }}</p>
  <input v-model="question">
</div>

var watchVM = new Vue({
  el: '#watch-example',
  data:{
    answer: 'answer',
    question: '',
  },
  watch: {
    question: function() {
      // question發(fā)生改變執(zhí)行此函數(shù)
    }
  }
})

計(jì)算屬性computed

var vm = new Vue({
  el: '#app',
  data: {
    message: 'hello',
  },
  computed: {
    reversedMessage: function() {
      return this.message.split('').reverse().join('')
    }
  }
})

三、生命周期

beforeCreate 實(shí)例初始化之前

created 實(shí)例創(chuàng)建完成或杠,還沒開始掛載

beforeMount 掛載之前被調(diào)用

mounted el已掛載到實(shí)例上 可調(diào)用nextTick

buforeUpdate 數(shù)據(jù)更新時(shí)調(diào)用

updated dom已更新

activated keep-alive組件激活時(shí)調(diào)用

deactivated 組件停用時(shí)調(diào)用

beforeDestroy 實(shí)例銷毀之前調(diào)用

destroyed 實(shí)例銷毀后調(diào)用

errorCaptured 子孫組件錯(cuò)誤調(diào)用

四哪怔、選項(xiàng)/組合

parent

在子組件
console.log(this.$parent)

root

console.log(this.$root) // 當(dāng)前組件樹的根vue實(shí)例

mixins

定義一部分屬性或者公共的方法,在每個(gè)組件之中使用向抢,方法參數(shù)在各函數(shù)之間不共享认境,沒有任何通信

在調(diào)用自身鉤子之前調(diào)用

注:當(dāng)父組件也有相同屬性時(shí)以父組件/實(shí)例為準(zhǔn)

import minxin from 'xxxx.js'

new Vue({
  mixins: [minxin]
})

extends

與minxins類似,但優(yōu)先級(jí)次于父組件挟鸠,對(duì)父組件擴(kuò)充

var CompA = { 
    updated : function(){
        console.log('我是擴(kuò)展的updated');
    },
    methods:{
         //下面這個(gè)并沒有被執(zhí)行叉信,如果方法名一樣,只執(zhí)行構(gòu)造器里面的原生方法艘希,混入跟擴(kuò)展類似
         add:function(){
            console.log('我是擴(kuò)展出來的方法');
            this.num++;
          }
    }
}

// 在沒有調(diào)用 `Vue.extend` 時(shí)候繼承 CompA
var CompB = {
  extends: CompA,
  ...
}

name

只有作為組件選項(xiàng)時(shí)起作用

delimiters

改變純文本插入分隔符

function

render () {
  <div>
    {()=> this.func()}
  </div>
}

vue mvvm module模型 view視圖 controller控制器 vm視圖數(shù)據(jù)之間的傳遞

    import Header from '@/components/public/header/header'
    export default {
        props: ['shopId']
        name: 'mall',
        components: {
            Header
        },
        data () {
            return {
                msg: '商城首頁'
            }
        },
        mounted(){//  數(shù)據(jù)請(qǐng)求
            this._timeOut = setInterval(() => {
                do something
            },2000)
        },
        mounted(){
            this.init();
            beforeDestroy() { // 清除計(jì)時(shí)器
                clearInterval(this._timeOut);
            }
        },
        created () {

        },
        updated() { 
             window.scroll(0, 0); 
        },
        methods: {
            init(){
                
            }
        },
     watch: {
            shopId(newValue, oldValue) {
                console.log(newValue)
                this.init();
            }
        },
        mixins: [http]
    }
<div id="app">
    <say-hello></say-hello>
    <my-name :name="username"></my-name>
</div>

<script>
    // 子組件sayHello
    Vue.component("sayHello", {
      template: "<h1>${this.$parent.username}</h1>",
      delimiters: "${}", // 改變純文本插值語法 ${xxx}
    })
    
    var app = new Vue({
      el: "#app",
      data: {
        username: 'xxxx',
      },
      components: {
        "myName": {
          template: `<div>
            <p>{{name}}</p>
            <P>{{this.$parent.month}}</P>
          </div>`,
          props: ["name"],
        }
      }
    }) 
    
</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末硼身,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子覆享,更是在濱河造成了極大的恐慌佳遂,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撒顿,死亡現(xiàn)場(chǎng)離奇詭異丑罪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門巍糯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來啸驯,“玉大人,你說我怎么就攤上這事祟峦》6罚” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵宅楞,是天一觀的道長针姿。 經(jīng)常有香客問我,道長厌衙,這世上最難降的妖魔是什么距淫? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮婶希,結(jié)果婚禮上榕暇,老公的妹妹穿的比我還像新娘。我一直安慰自己喻杈,他們只是感情好彤枢,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著筒饰,像睡著了一般缴啡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瓷们,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天业栅,我揣著相機(jī)與錄音,去河邊找鬼谬晕。 笑死碘裕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的攒钳。 我是一名探鬼主播娘汞,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼夕玩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起惊豺,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤燎孟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后尸昧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揩页,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年烹俗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了爆侣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萍程。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖兔仰,靈堂內(nèi)的尸體忽然破棺而出茫负,到底是詐尸還是另有隱情,我是刑警寧澤乎赴,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布忍法,位于F島的核電站,受9級(jí)特大地震影響榕吼,放射性物質(zhì)發(fā)生泄漏饿序。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一羹蚣、第九天 我趴在偏房一處隱蔽的房頂上張望原探。 院中可真熱鬧,春花似錦顽素、人聲如沸咽弦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽离唬。三九已至,卻和暖如春划鸽,著一層夾襖步出監(jiān)牢的瞬間输莺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國打工裸诽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嫂用,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓丈冬,卻偏偏與公主長得像嘱函,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子埂蕊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容