事件默認冒泡:
當點擊按鈕,先觸發點擊按鈕事件,再向上層冒泡
<body>
<div id="app">
<div class="inner" @click='divhandle'>
<input type="button" value="戳我" @click='btnhandle'>
</div>
</div>
<script >
var vm = new Vue({
el:'#app',
data:{
},
methods:{
divhandle(){
console.log('觸發點擊inner事件');
},
btnhandle(){
console.log('觸發點擊btn事件');
}
}
})
</script>
</body>

事件修飾符
- .stop阻止冒泡
<div class="inner" @click='divhandle'> <input type="button" value="戳我" @click.stop='btnhandle'> </div>

-
.prevent阻止默認事件
<div id="app">
<!-- <div class="inner" @click='divhandle'>
<input type="button" value="戳我" @click.stop='btnhandle'>
</div> -->
<a href="http://www.baidu.com" @click.prevent='linkclick'>百度</a>
</div>
<script >
var vm = new Vue({
el:'#app',
data:{
},
methods:{
divhandle(){
console.log('觸發點擊inner事件');
},
btnhandle(){
console.log('觸發點擊btn事件');
},
linkclick(){
console.log('觸發鏈接點擊事件');
},
}
})
</script>
阻止a標簽的默認跳轉行為
- .capture 添加事件偵聽器使用事件捕獲模式
<div class="inner" @click.capture='divhandle'> <input type="button" value="戳我" @click.stop='btnhandle'> </div> //事件從外到里

- .self只當事件在元素本身(比如本身子元素)觸發時觸發回調
<div class="inner" @click.self='divhandle'> <input type="button" value="戳我" @click.stop='btnhandle'> </div> //只有點擊inner塊自身才觸發divhandle事件,點擊button時不觸發divhandle事件

- .once事件只觸發一次
<a href="http://www.baidu.com" @click.prevent.once='linkclick'>百度</a> //只觸發一次事件處理函數,包括prevent事件,click.once.prevent也一樣
.stop和.self
兩個都有阻止冒泡的效果,但是stop阻止所有冒泡,self只阻止當前元素冒泡,不影響其它冒泡
例如,outer-inner-button三層,在button @click.stop,只發生button事件,阻止冒泡,不發生outer,inner的click事件;
在inner @click.self,點擊button,只發生button和outer事件。
v-modle和雙向數據綁定
<div id="app">
<h4>{{msg}}</h4>
<input type="text" v-bind:value="msg">
</div>
<script >
var vm = new Vue({
el:'#app',
data:{
msg:'敲代碼啦'
},
methods:{
}
})
</script>
v-bind只能實現數據單向綁定,從M綁定到V,無法實現雙向綁定

<div id="app">
<h4>{{msg}}</h4>
<input type="text" style='width: 100%;' v-model="msg">
</div>
<script >
var vm = new Vue({
el:'#app',
data:{
msg:'敲代碼啦'
},
methods:{
}
})
</script>
使用v-model可以實現表單元素和model中數據的雙向綁定
注意:v-model只能運用在表單元素中
input(radio,text,address,email...
select
checkbox
textarea

