• vue2 基础指令、事件修饰符


    Vue.js是一套构建用户界面的渐进式框架。不仅易于上手,还便于与第三方库或既有项目整合。最重要的是在Vue中,核心的概念就是响应式让程序员可以更多的时间去关注业务逻辑;

    既我们再js中操作修改数据等等,页面自动渲染更新

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Documenttitle>
    8. head>
    9. <body>
    10. <div id="box">
    11. // 视图
    12. div>
    13. body>
    14. html>
    15. <script src="./js/vue-2.4.0.js">script>
    16. <script>
    17. let vue = new Vue({ // vue 实例
    18. el:'#box', // 控制的视图id
    19. data:{ // 数据
    20. },
    21. methods:{} // 事件
    22. })
    23. script>

     

    插值表达式、v-text、v-html、v-mode

    插值表达式供我们再html代码中直接访问在vue定义好data 语法{{}};

    后两者和js 的innerText innerHtml 一致替换元素中的内容,html后缀的能解析富文本,语法和普通指令一致 如下

    最后的 v-model 是数据实现双向绑定 既在js中操作数据页面中的数据会变,修改页面中的数据js中定义的数据也会一起改变,故称 双向

    1. // html
    2. "box">
    3. <div>插值表达式{{msg}}div>
    4. <div v-text="'v-text文本'">0000div>
    5. <div v-html="'

      v-html文本

      '"
      >
      0000div>
    6. <input type="text" v-model="msg"> // 双向绑定
    7. div>
    8. // vue
    9. data:{
    10. msg:'插值表达式'
    11. },

    :使用v-text和v-html时命令所在的标签一定是双标签  

    现在不太直观,可以先试试下面的例子 

    v-show、v-if v-else


    v-cloak

    当网络较慢,网页还在加载 Vue.js ,而导致 Vue 来不及渲染,这时页面就会显示出 Vue 源代码。我们可以使用 v-cloak 指令来解决这一问题。

    可以使用 v-cloak 指令设置样式,这些样式会在 Vue 实例编译结束时,从绑定的 HTML 元素上被移除。从而让页面不会闪烁

    1. // vue
    2. data:{
    3. msg:'1111111'
    4. }

    网络慢速时显示的网页 会是:     插值表达式{{msg}}  闪烁后=》插值表达式1111111

    1. // style
    2. [v-cloak]{
    3. display: none;
    4. }
    5. // html
    6. "box">
    7. <div>插值表达式{{msg}}div>
  • // 不加
  • //
  • //
    插值表达式{{msg}}
  • //

v-bind

上面是动态的内容的使用,现在介绍动态属性

v-bind:属性 简写为 :属性

  1. // style
  2. .pink{
  3. color: pink;
  4. }
  5. .big{
  6. font-size: 50px;
  7. }
  8. // html
  9. class='cl1'>这是一行字

  10. <button :title="nihao">悬浮鼠标展示titlebutton>
  11. <input type="text" v-bind:value="message">
  12. // vue
  13. data: {
  14. message: 'Hello Vue!',
  15. nihao:'你好世界',
  16. cl1:['big','pink']
  17. }

v-on

绑定methods事件:v-on:事件名="表达式||函数名" 简写为  @事件名="表达式"

直观的比较详细的例子:

  1. // html
  2. 'box'>
  3. <button v-on:click='addNum'>点击num减一button>
  4. {{num}}
  • // vue
  • let vue=new Vue({
  • el:'#box',
  • data:{
  • num: 100
  • },
  • methods:{
  • addNum(isAdd) {
  • isAdd === 'add' ? this.num++ : this.num--
  • },
  • }
  • })
  • 在这里就体现了vue的响应式数据,当我们点击按钮修改定义在data中的数据时,页面中相应的 值 也会一起变化

    v-show、v-if v-else

    控制元素的显示,但是有一定区别:

     v-if都是对元素进行插入和移除的操作 可理解为直接注释掉了标签,等条件满足时再解开
     v-show是显示与否的问题 使用了display:none

    结合一下上面知识点的的例子

    1. // html
    2. 'box'>
    3. <div v-if="num">{{num}}div>
    4. <div v-else>num隐式转换后为falsediv>
    5. <div v-show="num>10">大于10了div>
    6. <button v-on:click='addNum'>点击num减一button>
    7. <input type="text" v-model="num">
    8. <button @click="addNum('add')">点击num加一button>
    9. div>
    10. // vue
    11. let vue=new Vue({
    12. el:'#box',
    13. data:{
    14. num: 0
    15. },
    16. methods:{
    17. addNum(isAdd) {
    18. isAdd === 'add' ? this.num++ : this.num--
    19. },
    20. }
    21. })

     

    注: v-if 判断num默认是 0 ,但是当我们输入 0 的时候,num 将会是字符创 0 ,而不是数字。

    v-for 

    可以理解为在html中使用for循环渲染数据

    1. // 渲染 100内的数字
    2. for="num in 100" :key="num">{{num}}
    3. // 遍历渲染 对象
    4. <div v-for="(value,key,index) in obj" :key='index'>{{value}}---{{key}}---{{index}}div>
    5. // 遍历渲染 数组
    6. <div v-for="(item,index) in arr" :key='index'>{{item}}---{{index}}div>
    7. // vue
    8. data:{
    9. arr:[
    10. {age:12,name:'小张'},
    11. {age:20,name:'张三'},
    12. {age:50,name:'老张'}
    13. ],
    14. obj:{age:12,name:'小张',sex:'male',height:180}
    15. }

     可以看到我们可以使用 v-for 遍历数据 让数据 按照模板渲染出来,配合 v-if v-bind 等等,将会更加灵活。

    注: 在使用 v-for 时一定注意我们循环渲染标签一定要 在 标签中设置 :key 这个key相当于标签的id必须唯一用于vue跟踪数据,最好也不要使用index作为key。

    事件修饰符

    这项比较简单但是非常的好用,便捷;语法 在事件后之间 + . + 修饰符即可

    1. .stop 阻止冒泡
    2. .prevent 阻止默认事件
    3. .capture 添加事件侦听器时使用事件捕获模式
    4. .self 只当事件在该元素本身(比如不是子元素)触发时触发回调
    5. .once 事件只触发一次

    除了事件修饰符 vue 还提供了其他的 键盘修饰符 ,鼠标修饰符等等

    如果想深入了解某一项,请访问vue官方网站 =》 vue2

  • 相关阅读:
    java EE初阶 — 计算机工作原理
    CSS之Flex布局的详细解析
    Qt 二维码生成与识别
    纸面石膏板适用于AS 1530.1澳标阻燃标准吗?
    自动化机械臂喷涂生产线方案五
    全网最牛自动化测试框架系列之pytest(10)-常用执行参数说明
    MySQL索引、事务、存储引擎
    English语法_介词 - of
    基于 vite2 + Vue3 写一个在线帮助文档工具
    EasyExcel使用方式(包含导出图片)
  • 原文地址:https://blog.csdn.net/paidaboluo/article/details/126159582