Vue 第一天 v-cloak 防闪烁 ,v-bind 属性绑定,v-on事件绑定,v-text文本绑定,事件修饰符 stop,prevent,once,capture,self作用

所有 HTML元素必须都在指定的范围。
<div id="app"> 被操作的元素和数据必须在此div内部。 </div> <script > const vm=new Vue({ el:'#app' }); </script>
1.如何解决差值表达式闪烁问题
<style>
<!-- 新建属性选择器-->
[v-cloak]{
display:none;
}
</style>
<body>
<div v-cloak > {{msg}}</div>
<script>
const obj=new Vue({
data:{
msg:'123'
msg1:"<a>123</a>"
}
});
</script>
</body>
网页加载是不会再出现 {{}} 插值表达式闪烁问题;
2. v-text作用
<div v-text="msg" ></div>
v-text 只能显示文本,即将 msg结果显示再 div中;
3.v-html 作用 是能将 msg1 渲染成 超链接;
<div v-html= "msg1" ></div>
不能渲染 html 代码
4. v-bind 作用
<input type="button" v-bind:title="msg" />
将按钮的 msg的 值 绑定 到 按钮 的title 属性; v-bind 能将 某个属性值当做JavaScript表达式, <input type="button" v-bind:title="msg+' 456' " /> 这样操作后 title 值变成 123456,为方便大家使用 可将 v-bind: 直接写作 :title="msg+'123' " 同样能达到上述结果。v-bind只能实现数据单项绑定
5.v-on 作用
v-on 专门用于绑定事件.
<body>
<div id="app">
<input v-on:click="show" class="sch" >
<button @click="show"> {{msg}} </button>
</div>
<script src="Vue.js" type="text/javascript"></script>
<script type="text/javascript">
const ob = new Vue({
el:"#app",
data: {
msg: "123",
msg1:"123456"
}, methods: {
show: function () {
alert("v-on 绑定事件!!");
}
}
});
</script>
</body>
以上绑定了 文本框和按钮的单击事件; v-on:click 可以省略 写作 @click
6.vue 中 访问 data 中的数据
可以用 this.变量 ,如 this.msg
7. stop 和prevent 作用
stop 阻止冒泡事件发生 ; prevent 阻止默认行为发生;
<div class="outer" @click="outerClick"> 外部外部外部外部外部 <div class="inner" @click.stop="innerClick"> 内部 </div> 外部外部外部外部外部 </div>
<a href="http://www.baidu.com" @click.prevent="outerClick" > 百度</a>
在@click 后边加上 .stop 可阻止时间冒泡。 @click.prevent 可阻止 超链接的默认行为发生,即点链接不能链接到百度。
8.capture 作用
<div class="outer" @click.capture="outerClick">
外部外部外部外部外部
<div class="inner" @click="innerClick"> 内部 </div>
外部外部外部外部外部
</div>
在外层div 的单击事件 中加入 .capture 关键字 当点击 “内部”文字时 先触发 外层div事件,再触发内部div单击事件
9. self 作用: self 放在外层 点那个元素触发那个元素的单击事件
<div class="outer" @click.self="outerClick">
外部外部外部外部外部
<div class="inner" @click="innerClick"> 内部 </div>
外部外部外部外部外部
</div>
10. once 代表事件只发生一次
<button @click.once="outerClick"> 按钮 </button>
按钮的单击事件只发生一次
上述 7-10 事件修饰符 可以串联 @click.prevent.once 表示阻止 默认事件一次 。
<a href="http://www.baidu.com" @click.prevent.once ="outerClick"> 百度</a>
第二次不在阻止。第二次点击可访问百度网站
11. vue 给元素设置 class
注意 a,b 两个修饰 类 必须定义在 head 标记内部。否则不起作用。
<head> <style> .a { font-size: 80px; } .b { color: green; }
.f{
font-size:80px;
}
</style> </head> <body> <div :class="['a','b']"> vue 绑定 多个class </div> </body>
:class 中可以写 表达式
<div :class="['a','b' ,{ 'f':flag }]"> vue 绑定 多个class </div>
data 中 flag 为 true 则应用 f 类,否则不应用。 其他细节 见 教程 https://www.bilibili.com/video/BV11s411A7h6?p=15
浙公网安备 33010602011771号