vue入門2----vue事件監(jiān)聽诸尽、計算屬性和監(jiān)視watch

一焦蘑、模塊

1拾给、定義
  • 1.動態(tài)的 html 頁面
    2.包含了一些 JS 語法代碼
    ???a. 雙大括號表達式
    ???b. 指令(以 v-開頭的自定義標簽屬性)
a.雙大括號表達式
  • 語法: {{exp}}
  • 功能: 向頁面輸出數(shù)據
  • 可以調用對象的方法
2.指令一:強制數(shù)據綁定:
  • 功能: 指定變化的屬性值
  • 完整寫法: v-bind:xxx='yyy' //yyy 會作為表達式解析執(zhí)行
  • 簡潔寫法: :xxx='yyy'
3.指令二:綁定事件監(jiān)聽:
  • 功能: 綁定指定事件名的回調函數(shù)
  • 完整寫法:
    v-on:keyup='xxx' v-on:keyup='xxx(參數(shù))' v-on:keyup.enter='xxx'
  • 簡潔寫法: @keyup='xxx'
    @keyup.enter='xxx'
    @click="test"
  • 綁定事件test未指定參數(shù)時抽减,默認傳$event,代表事件對象允青,event.target.innerHTML
  • 事件修飾符
    .prevent : 阻止事件的默認行為 event.preventDefault(),比如a標簽的href和 a中click事件
    .stop : 停止事件冒泡 event.stopPropagation()
  • 按鍵修飾符
    .keycode : 操作的是某個鍵的keycode值胯甩,如@keyup.13 等于@keyup.enter
    .enter : 操作的是enter鍵
<div id="example">
  <h2>1. 綁定監(jiān)聽</h2>
  <button @click="test1">test1</button>
  <button @click="test2('abc')">test2</button>
  <button @click="test3('abcd', $event)">test3</button>
  <h2>2. 事件修飾符</h2>
  <a  @click.prevent="test4">百度一</a>
  <div style="width: 200px;height: 200px;background: red" @click="test5">
    <div style="width: 100px;height: 100px;background: blue" @click.stop="test6">
    </div>
  </div>
  <h2>3. 按鍵修飾符</h2>
  <input type="text" @keyup.13="test7">
  <input type="text" @keyup.enter="test7">
</div>
<script type="text/javascript">
  new Vue({
    el: '#example',
    data: {},
    methods: {
      test1(event) {
        alert(event.target.innerHTML)
      },
      test2 (msg) {
        alert(msg)
      },
      test3 (msg, event) {
        alert(msg+'---'+event.target.textContent)
      },
      test4 () {
        alert('點擊了鏈接')
      },
      test5 () {
        alert('out')
      },
      test6 () {
        alert('inner')
      },
      test7 (event) {
        console.log(event.keyCode)
        alert(event.target.value)
      }
    }
  })
</script>
<div id="app">
<h2>雙大括號表達式</h2>
<p>{{msg}}</p>
<p>{{msg.topperCase()}}</p>
<p v-text="msg"></p>   <!-- 如textContent-->
<p v-html="msg"></p>  <!-- 如innerHtml-->
<h2>一昧廷、強制數(shù)據綁定</h2>
<a href="url">訪問指定站點1</a> <!-- 錯誤寫法 -->
<a v-bind:href="url">訪問指定站點2</a>
<a :href="url">訪問指定站點3</a>
<img v-bind:src="imgUrl">
<img :src="imgUrl">

<h2>二、強制事件監(jiān)聽</h2>
<button v-on:click="clickButton">點擊1</button>
<button @:click="clickButton2(msg)">點擊2</button>
</div>
<script type="text/javascript" src="../js/vue.js"></script>

<script>
var vm = new vue({  
     el: '#app', 
     data: { 
              msg: 'game over',
              url: 'http://www.baidu.com'偎箫,
               imgUrl:'https://cn.vuejs.org/images/logo.png'
       },
      method: {
          clickButton() {
            alert('點擊了')木柬;
           },
          clickButton2(content) {
            alert(content);
        }
     }
})

二淹办、計算屬性和監(jiān)視

<!--1.計算屬性
在computed 屬性對象中定義計算屬性的方法 眉枕,在頁面中使用{方法名}顯示計算結果
2 監(jiān)視屬性
通過通過 vm 對象的$watch()或 watch 配置來監(jiān)視指定的屬性
當屬性變化時, 回調函數(shù)自動調用, 在函數(shù)內部進行計算
3. 通過回調函數(shù):getter/setter 實現(xiàn)對屬性數(shù)據的顯示和監(jiān)視
計算屬性存在緩存, 多次讀取只執(zhí)行一次 getter 計算
-->
<div id="demo">
    姓:<input type="text" placeholder="姓氏" v-model="firstName">
    <br />
    名:<input type="text" placeholder="名字" v-model="secondName">
    <br />
    姓名1(單向)<input type="text" placeholder="姓名" v-model="fullName1">
    <br />
    姓名2(單向)<input type="text" placeholder="姓名" v-model="fullName2">
    <br />
    姓名3(雙向)<input type="text" placeholder="姓名" v-model="fullName3">
</div>
<script>
    var vm = new Vue({
        el: '#demo',
        data: {
            firstName: 'a',
            secondName: 'b',
            fullName2: 'ab',
        },
        computed: {
            // 什么時候執(zhí)行:初始化顯示/相關的data屬性數(shù)據發(fā)生改變時
            // 計算并返回當前屬性的值
            fullName1: function () { //方式一:拼接姓名,是計算屬性中的一個方法 怜森,計算返回值作為屬性值
                return this.firstName + ' ' + this.secondName;
            },
            fullName3: {
                // 回調函數(shù): 計算并返回當前屬性的值
                // 回調函數(shù)是自己定義的速挑,自己未調用,但執(zhí)行了副硅;注意:什么時候調用姥宝?用來做什么?
                // 當需要讀取當前屬性值時回調恐疲,
                get() {
                    return this.firstName + ' ' + this.secondName;
                },
                // 當屬性值發(fā)生改變時腊满,回調
                set(value) {
                    const  names = value.split(' ');
                    this.firstName = names[0];
                    this.secondName = names[1];
                }
            }
        },
        watch: {
            // 監(jiān)視secondName
            secondName: function (value) {
                this.fullName2 = this.firstName + ' ' + value;
            }
        }
    });
    vm.$watch('secondName', function (value) {
        this.fullName2 = this.firstName() + ' ' + value;
    });
</script>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市培己,隨后出現(xiàn)的幾起案子碳蛋,更是在濱河造成了極大的恐慌,老刑警劉巖省咨,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肃弟,死亡現(xiàn)場離奇詭異,居然都是意外死亡零蓉,警方通過查閱死者的電腦和手機笤受,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來壁公,“玉大人感论,你說我怎么就攤上這事∥刹幔” “怎么了比肄?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長囊陡。 經常有香客問我芳绩,道長,這世上最難降的妖魔是什么撞反? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任妥色,我火速辦了婚禮,結果婚禮上遏片,老公的妹妹穿的比我還像新娘嘹害。我一直安慰自己撮竿,他們只是感情好,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布笔呀。 她就那樣靜靜地躺著幢踏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪许师。 梳的紋絲不亂的頭發(fā)上房蝉,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機與錄音微渠,去河邊找鬼搭幻。 笑死,一個胖子當著我的面吹牛逞盆,可吹牛的內容都是我干的檀蹋。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼云芦,長吁一口氣:“原來是場噩夢啊……” “哼续扔!你這毒婦竟也來了?” 一聲冷哼從身側響起焕数,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤纱昧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后堡赔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體识脆,經...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年善已,在試婚紗的時候發(fā)現(xiàn)自己被綠了灼捂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡换团,死狀恐怖悉稠,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情艘包,我是刑警寧澤的猛,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站想虎,受9級特大地震影響卦尊,放射性物質發(fā)生泄漏。R本人自食惡果不足惜舌厨,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一岂却、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦躏哩、人聲如沸署浩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瑰抵。三九已至,卻和暖如春器联,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背婿崭。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工拨拓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氓栈。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓渣磷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親授瘦。 傳聞我的和親對象是個殘疾皇子醋界,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內容

  • 運行 npm run dev 執(zhí)行的是 dev-server.js vue-cli的webpack配置分析 一,入...
    我愛吃肥腸閱讀 249評論 0 0
  • 1.安裝 可以簡單地在頁面引入Vue.js作為獨立版本,Vue即被注冊為全局變量提完,可以在頁面使用了形纺。 如果希望搭建...
    Awey閱讀 10,999評論 4 129
  • # 傳智播客vue 學習## 1. 什么是 Vue.js* Vue 開發(fā)手機 APP 需要借助于 Weex* Vu...
    再見天才閱讀 3,530評論 0 6
  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內容,還有我對于 Vue 1.0 印象不深的內容徒欣。關于...
    云之外閱讀 5,046評論 0 29
  • 一逐样、設計模式概念 設計模式是一套被反復使用、多數(shù)人知曉打肝、經過分類編目的優(yōu)秀代碼設計經驗的總結脂新。使用設計模式的目的就...
    天氣很好丶閱讀 302評論 0 0