前端框架入门之Vue的模版语法与数据单向绑定 数据双向绑定

目录

vue的模版语法

数据绑定


vue的模版语法

关于模版这个概念

root容器里面被称为模版

我们的语法分为插值语法和插值语法

这样就是实现了插值语法

接下来我们实现指令语法

首先我们写一个a标签

链一个超链接上去

复制代码
 <h1>指令语法</h1>
    <a href="https://gczdy.blog.csdn.net/">点我去学习</a>

我们去网页中去查看

我们要让这个地址是动态的

我们要把这个地址存在vue实例当中

我们想的是把url存入

再在容器中去调用

但是我们打开控制台

发现我们在这里放入的是{{url}}

而且我们的控制台有一个警告

我们查看一下这个警告

我们修改一下写法

v-bind

表示绑定的意思

给标签里面的属性去动态的绑定数值

v-bind的意思就是把引号里面的东西拿出来做一个js表达式的处理

就是把这个写在引号里的url看做一个变量

而不是 普普通通的把引号里面的东西看做字符串

那么我们什么时候用插值语法和指令语法呢

插值语法往往用于指定

标签体内容

总结

我们把引号内的内容加载为js表达式源自于

冒号

练习

浏览器页面展示

我们也可以写成这种多级结构

复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>初识vue</title>

  <!-- 引入 vue -->
  <script type="text/javascript" src="./js/vue.js"></script>
  
</head>

<body>

  <div id="root">
    <!-- Vue 插值语法-->

    <h1>Hello,{{name}},{{adderss}},{{Date.now()}}</h1>
    <h3>你好 {{id}}</h3>
    <hr/>

    <h1>指令语法</h1>
    <a v-bind:href="url">点我去{{name}}学习</a>


  </div>

  <script type="text/javascript">
    
    //阻止 Vue 在启动时生成生产提示
    Vue.config.productionTip=false;

    //创建 Vue 实例 
    new Vue({
      //用于指定当前 Vue 实例为哪个容器服务 值通常为 css 选择器字符串
      el:'#root',
      //data 中用于存储数据 数据供 el 所指定的容器去使用
      //数值我们暂时先写成一个对象
      data:{
        name:'博客',
        adderss:'北京昌平',
        id:'jack',
        url:'https://gczdy.blog.csdn.net/'
      }
    })

  </script>

</body>

</html>

数据绑定

页面展示

复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>初识vue</title>

  <!-- 引入 vue -->
  <script type="text/javascript" src="./js/vue.js"></script>
  
</head>

<body>

  <div id="root">
    <!-- Vue 插值语法-->
    单向数据绑定 <input type="text" v-bind:value="name">

  </div>

  <script type="text/javascript">
    
    //阻止 Vue 在启动时生成生产提示
    Vue.config.productionTip=false;

    //创建 Vue 实例 
    new Vue({
      el:'#root',
      data:{
        name:'尚硅谷'
      }
    }) 

  </script>

</body>

</html>

我们找vue的开发者工具

查看信息

去控制台找找这个信息

复制代码
document.querySelector("input").value
复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>初识vue</title>

  <!-- 引入 vue -->
  <script type="text/javascript" src="./js/vue.js"></script>
  
</head>

<body>

  <div id="root">

    <!-- Vue 插值语法-->
    单向数据绑定 <input type="text" v-bind:value="name">
    双向数据绑定 <input type="text" v-model:value="name">

  </div>

  <script type="text/javascript">
    
    //阻止 Vue 在启动时生成生产提示
    Vue.config.productionTip=false;

    //创建 Vue 实例 
    new Vue({
      el:'#root',
      data:{
        name:'尚硅谷'
      }
    }) 

  </script>

</body>

</html>

我们在这边

双向绑定输入内容

就会发现value值都会进行改变

总结

我们一般表单类元素

采用的是双向绑定

因为这些数值一般都需要我们去捕获

v-model 就是对 value进行分析捕获的

复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>初识vue</title>

  <!-- 引入 vue -->
  <script type="text/javascript" src="./js/vue.js"></script>
  
</head>

<body>

  <div id="root">

    <!-- Vue 插值语法-->
    单向数据绑定 <input type="text" v-bind:value="name">
    双向数据绑定 <input type="text" v-model:value="name">

    <!--简写-->
    单向数据绑定 <input type="text" :value="name">
    双向数据绑定 <input type="text" v-model="name">

  </div>

  <script type="text/javascript">
    
    //阻止 Vue 在启动时生成生产提示
    Vue.config.productionTip=false;

    //创建 Vue 实例 
    new Vue({
      el:'#root',
      data:{
        name:'尚硅谷'
      }
    }) 

  </script>

</body>

</html>

个人号推广

博客主页

朱道阳-CSDN博客

Web后端开发

https://blog.csdn.net/qq_30500575/category_12624592.html?spm=1001.2014.3001.5482

Web前端开发

https://blog.csdn.net/qq_30500575/category_12642989.html?spm=1001.2014.3001.5482

数据库开发

https://blog.csdn.net/qq_30500575/category_12651993.html?spm=1001.2014.3001.5482

项目实战

https://blog.csdn.net/qq_30500575/category_12699801.html?spm=1001.2014.3001.5482

算法与数据结构

https://blog.csdn.net/qq_30500575/category_12630954.html?spm=1001.2014.3001.5482

计算机基础

https://blog.csdn.net/qq_30500575/category_12701605.html?spm=1001.2014.3001.5482

回忆录

https://blog.csdn.net/qq_30500575/category_12620276.html?spm=1001.2014.3001.5482

相关推荐
lly20240615 分钟前
C++ 文件和流
开发语言
2301_8187320616 分钟前
前端调用控制层接口,进不去,报错415,类型不匹配
java·spring boot·spring·tomcat·intellij-idea
发现一只大呆瓜17 分钟前
AI流式交互:SSE与WebSocket技术选型
前端·javascript·面试
m0_7066532321 分钟前
分布式系统安全通信
开发语言·c++·算法
码字的字节44 分钟前
Spring Cloud服务注册与发现(一):手把手搭建Eureka Server,详解高可用配置
spring·spring cloud·eureka
大厂资深架构师1 小时前
Spring Cloud Eureka在后端系统中的服务剔除策略
spring·spring cloud·ai·eureka
寻寻觅觅☆1 小时前
东华OJ-基础题-104-A == B ?(C++)
开发语言·c++
lightqjx1 小时前
【C++】unordered系列的封装
开发语言·c++·stl·unordered系列
m0_719084111 小时前
React笔记张天禹
前端·笔记·react.js
zh_xuan1 小时前
kotlin lazy委托异常时执行流程
开发语言·kotlin