Vue 模板语法 v-bind

红色框里面的都是vue的模板。有了模板就得有模板的特殊语法。上面只是简单的双括号加上表达式,这种叫做插值语法,除了这种语法还有其他语法吗?

插值语法实现的功能很单一,就是将指定的值放到指定的位置。还有一种叫做指令语法,它能够完成的就相对高端一些。

vue里面的指令很多,都是以v-开头。下面其实就是将执行的结果绑定给v-bind

html 复制代码
<a v-bind:href="url">点击我去百度</a>   
//如果加上v-bind:,那么vue会将引号里面包着的东西url拿出来当js表达式去执行,url就相对于变量

      new Vue({    
          el: "#app",   
          data:{ 
            name: "lucas",
            url: "https://www.baidu.com",
          }
       })

v-bind可以指定任何一个属性。bind可以给标签里面任何一个标签属性动态的绑定值。v-bind:可以简写为:冒号。

html 复制代码
    <div id="app">
        <h1>hello world name:{{name}}</h1>
        <a v-bind:href="url" v-bind:x="hello">点击我去百度</a>
    </div>
         
    <script type="text/javascript"> 

    Vue.config.productionTip = false     
      new Vue({    
          el: "#app",   
          data:{ 
            name: "lucas",
            url: "https://www.baidu.com",
            hello: "xxx",
          }
       })

通过上面可以看到插值语法往往用于指定标签体内容,也即是html元素中间部分。这部分需要渲染可以使用插值语法。

v-bind不管理标签里面的内容,它是用于管理标签的属性。

Vue模板语法有2大类:

1.插值语法;

  • 功能:用于解析标签体内容。
  • 写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性。

2.指令语法:

  • 功能:用于解析标签(包括:标签属性、标签体内容、绑定事件...)。
  • 举例:v-bind:href="xxx" 或简写为:href="xxx",xxx同样要写js表达式,且可以直接读取到data中的所有属性。
  • 备注:Vue中有很多的指令,且形式都是:v-????,此处我们只是拿v-bind举个例子。

在data当中,不仅仅可以是基本的数据类型,还可以是对象。所以data里面的数据可以是多级的结构。

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>首页</title>
    <!--引入vue,这里引入vue那么这里就多了vue构造函数-->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
 
<body>  

    <div id="app">
        <h1>hello world name:{{name}} school里面的name:{{school.name}}</h1>
        <a v-bind:href="school.url" v-bind:x="hello">点击我去百度</a>
    </div>
         
    <script type="text/javascript"> 

    Vue.config.productionTip = false     
      new Vue({    
          el: "#app",   
          data:{ 
            name: "lucas",
            school:{
                name: "jerry",
                url: "https://www.baidu.com",
            },
          }
       })
    </script>
 
</body>
</html>

对于插值语法没有什么高深的玩法,就两对花括号{{}}里面写上表达式

相关推荐
徐小夕17 分钟前
万字长文!DeepSeek Super-agent × 企业知识库架构深度拆解与落地实践
前端·vue.js·github
ruanno_top19 小时前
倒计时该用 deadline 还是每秒减一?我把两种写法都跑了一遍
vue.js
徐小夕1 天前
下载量超 30 万的开源智能体 Prime Agent:它把自己从 TypeScript 重写成了 Rust
前端·vue.js·github
toooooop81 天前
CRMEB 故障排查笔记:安全网关只放行 GET/POST 怎么办
前端·javascript·vue.js·thinkphp6·crmeb
软件技术NINI1 天前
基于SpringBoot和Vue的项目评审系统
javascript·vue.js·spring boot·后端·spring·毕业设计·毕设
FRing032 天前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2
Java小卷2 天前
JuanForm vs FormCreate!Vue3 表单引擎联动配置 PK!
vue.js·低代码
小郎君6582 天前
Vue 多标签页的加载态设计:为什么我没有用 Suspense 实现 PageLoading
vue.js·算法
yilaisai2 天前
前端开发遇到的一些细节问题整理
vue.js
华玥作者2 天前
Vue 3 + TypeScript + uni-app 组件库推荐:hy-app(华玥组件库)
vue.js·typescript·uni-app