• Javaweb之Vue指令的详细解析


    2.3 Vue指令

    在上述的快速入门中,我们发现了html中输入了一个没有学过的属性v-model,这个就是vue的指令

    指令:HTML 标签上带有 v- 前缀的特殊属性,不同指令具有不同含义。例如:v-if,v-for…

    在vue中,通过大量的指令来实现数据绑定到视图的,所以接下来我们需要学习vue的常用指令,如下表所示:

    指令作用
    v-bind为HTML标签绑定属性值,如设置 href , css样式等
    v-model在表单元素上创建双向数据绑定
    v-on为HTML标签绑定事件
    v-if条件性的渲染某元素,判定为true时渲染,否则不渲染
    v-else
    v-else-if
    v-show根据条件展示某元素,区别在于切换的是display属性的值
    v-for列表渲染,遍历容器的元素或者对象的属性

    2.3.1 v-bind和v-model

    我们首先来学习v-bind指令和v-model指令。

    指令作用
    v-bind为HTML标签绑定属性值,如设置 href , css样式等
    v-model在表单元素上创建双向数据绑定
    • v-bind: 为HTML标签绑定属性值,如设置 href , css样式等。当vue对象中的数据模型发生变化时,标签的属性值会随之发生变化。

      接下来我们通过代码来演示。

      首先我们在VS Code中创建名为13. Vue-指令-v-bind和v-model.html的文件,然后准备好如下代码:

      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>Vue-指令-v-bindtitle>
      8.    <script src="js/vue.js">script>
      9. head>
      10. <body>
      11.    <div id="app">
      12.        <a >链接1a>
      13.        <a >链接2a>
      14.        <input type="text" >
      15.    div>
      16. body>
      17. <script>
      18.    //定义Vue对象
      19.    new Vue({
      20.        el: "#app", //vue接管区域
      21.        data:{
      22.           url: "https://www.baidu.com"
      23.       }
      24.   })
      25. script>
      26. html>

      在上述的代码中,我们需要给标签的href属性赋值,并且值应该来自于vue对象的数据模型中的url变量。所以编写如下代码:

      <a v-bind:href="url">链接1a>

      在上述的代码中,v-bind指令是可以省略的,但是:不能省略,所以第二个超链接的代码编写如下:

      链接2

      浏览器打开,2个超链接都可以点击,然后跳转到百度去!效果如图所示:

    •  

      注意:html属性前面有:表示采用的vue的属性绑定!

    • v-model: 在表单元素上创建双向数据绑定。什么是双向?

      • vue对象的data属性中的数据变化,视图展示会一起变化

      • 视图数据发生变化,vue对象的data属性中的数据也会随着变化。

      data属性中数据变化,我们知道可以通过赋值来改变,但是视图数据为什么会发生变化呢?只有表单项标签!所以双向绑定一定是使用在表单项标签上的。编写如下代码:

      打开浏览器,我们修改表单项标签,发现vue对象data中的数据也发生了变化,如下图所示:

    • 通过上图我们发现,我们只是改变了表单数据,那么我们之前超链接的绑定的数据值也发生了变化,为什么?

      就是因为我们双向绑定,在视图发生变化时,同时vue的data中的数据模型也会随着变化。那么这个在企业开发的应用场景是什么?

      双向绑定的作用:可以获取表单的数据的值,然后提交给服务器

      整体代码如下:

      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>Vue-指令-v-bindtitle>
      8.    <script src="js/vue.js">script>
      9. head>
      10. <body>
      11.    <div id="app">
      12.        <a v-bind:href="url">链接1a>
      13.        <a :href="url">链接2a>
      14.        <input type="text" v-model="url">
      15.    div>
      16. body>
      17. <script>
      18.    //定义Vue对象
      19.    new Vue({
      20.        el: "#app", //vue接管区域
      21.        data:{
      22.           url: "https://www.baidu.com"
      23.       }
      24.   })
      25. script>
      26. html>

    2.3.2 v-on

    接下来我们学习一下v-on指令。

    v-on: 用来给html标签绑定事件的。需要注意的是如下2点

    • v-on语法给标签的事件绑定的函数,必须是vue对象种声明的函数

    • v-on语法绑定事件时,事件名相比较js中的事件名,没有on

      例如:在js中,事件绑定demo函数

      vue中,事件绑定demo函数

    接下来我们通过代码演示。

    首先在VS Code中创建名为14. Vue-指令-v-on.html的文件,提前准备如下代码:

    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>Vue-指令-v-ontitle>
    8.    <script src="js/vue.js">script>
    9. head>
    10. <body>
    11.    <div id="app">
    12.        <input type="button" value="点我一下">
    13.        <input type="button" value="点我一下">
    14.    div>
    15. body>
    16. <script>
    17.    //定义Vue对象
    18.    new Vue({
    19.        el: "#app", //vue接管区域
    20.        data:{
    21.          
    22.       },
    23.        methods: {
    24.          
    25.       }
    26.   })
    27. script>
    28. html>

    然后我们需要在vue对象的methods属性中定义事件绑定时需要的handle()函数,代码如下:

    1. methods: {
    2.        handle: function(){
    3.           alert("你点我了一下...");
    4.       }
    5. }

    然后我们给第一个按钮,通过v-on指令绑定单击事件,代码如下:

    "button" value="点我一下" v-on:click="handle()">

    同样,v-on也存在简写方式,即v-on: 可以替换成@,所以第二个按钮绑定单击事件的代码如下:

    "button" value="点我一下" @click="handle()">

    完整代码如下:

    1. DOCTYPE html>
    2.    
    3.    
    4.    
    5.    Vue-指令-v-on
    6.    
    7.    
    8.        
    9.        
    10.    
  • 相关阅读:
    LeetCode301:删除无效的括号
    LeetCode50天刷题计划(Day 25— 旋转图像(11.20-12.30)
    python数据容器——元组、字符串
    剑指 Offer II 105. 岛屿的最大面积
    C语言指针
    Spring注入bean的常用的六种方式
    系统架构设计师(第二版)学习笔记----计算机语言
    一文概览NLP句法分析:从理论到PyTorch实战解读
    SPI通信
    软件测试学习路线
  • 原文地址:https://blog.csdn.net/qq_69748833/article/details/134452981