前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue模版语法

vue模版语法

作者头像
用户4793865
发布2023-01-12 14:55:17
1.1K0
发布2023-01-12 14:55:17
举报
文章被收录于专栏:前端小菜鸡yym前端小菜鸡yym

这是我参与8月更文挑战的第29天,活动详情查看:8月更文挑战

vue的模版语法有:插值语法 和 指令语法 两种

插值语法

{{}}

代码语言:javascript
复制
<div class="root">
    <h1>Hello,{{name}}</h1>
  </div>
  <script>
    // 创建vue实例
    new Vue({
      el: '.root',
      //写成对象
      data: {
        name: '孙尚香'
      }
    })

  </script>

指令语法

我们想要写动态的超链接,怎么实现那?

我们发现接着使用插值语法去为<a>添加href属性是实现不了的。而且会报错

image.png
image.png

我们审查元素,可以看到,它将这个变量还是解析成了字符串。

image.png
image.png

而且发现报错了,他提示这种写法已被移除,使用v-bind

image.png
image.png

v-bind 单向绑定

使用v-bind

加完 v-bind 引号间的东西 就会被解析成 js表达式。就不是字符串了。

代码语言:javascript
复制
   <a v-bind:href="href">跳转</a>

v-bind 简写 成 :

代码语言:javascript
复制
 <a :href="href">跳转</a>

v-model 双向绑定

v-bind 其实是单向绑定的。如果我们想给输入框赋值,并且改变输入框的内容时,值也会发生变化。 这个时候就要使用v-model

代码语言:javascript
复制
<div class="root">
    <h1>Hello,{{name}}</h1>
    <a v-bind:href="href">跳转</a>
    <input v-model="href">
  </div>
  <script>
    // 创建vue实例
    new Vue({
      el: '.root',
      //写成对象
      data: {
        name: '孙尚香',
        href:'http://www.baidu.com'
      }
    })

  </script>

当我们在输入框中输入内容后,href这个值也变化了,而v-bind是单向绑定的,这个时候href属性的跳转地址也改变了。

那我以后在每个地方都用双向绑定的 v-model 就好了。⚠️ 这是不对的。如在<h1>标签中使用v-model,是会报错的。

代码语言:javascript
复制
<h1 v-model="name"></h1>

v-model只能应用在表单元素(输入类元素)上,因为表单元素是与用户交互的,而<h1>是不会有交互的

使用场景

插值语法:

用在标签间的标签体中 <h1>{{name}}</h1>

指令语法:

用于标签中的属性<a :href="url"></a> 。 并且可以使用简写形式

用于标签体、绑定事件。

想将 href属性的内容变成大写<a :href="url.toUpperCase()"></a>

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 插值语法
  • 指令语法
    • v-bind 单向绑定
      • 使用v-bind
      • v-bind 简写 成 :
    • v-model 双向绑定
    • 使用场景
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档