3.模板语法

模板语法

Vue使用一种基于HTML的模板语法,可以声明式地将组件实例上的数据绑定到呈现的DOM上,在底层机制中,Vue会将模板编译成高度优化的JavaScript代码。结合响应式系统,当应用系统发生变更时,Vue能智能推导出需要重新渲染的组件的最小数量,并应用最少的DOM操作。

1.文本语法

语法:{{}}

 <!-- 1、文本插入: {{}} -->
 <div>1.文本插入:{{message}}</div>
 
 
// 1、文本插入: {{}}
const message = "小羊爱吃草"

2.原始HTML

语法:v-html=“”

  <!--  2、原始HTML: v-html="" -->
  <div>2.原始HTML:<span v-html="originHTML"></span></div>
  
  // 2、原始HTML: v-html=""
let originHTML = `
  <span style="color:green;font-weight:bold;">
    小羊吃绿色的草
  </span>`  

3.Attribute 绑定

语法:v-bind:bindName=“bindValue”

  <!--  3、Attribute 绑定:v-bind:bingName=bindValue -->
  <div v-bind:id="attrValue">3、Attribute绑定</div>
  <!--  简写为:  :bindName=bindValue -->
  <div :id="attrValue">3、Attribute绑定简写</div>
  
  
// 3、Attribute 绑定:v-bind:bingName=bindValue
let attrValue = "小羊被绑定了"

4.使用JavaScript表达式

  <!-- 4、使用JavaScript表达式 -->
  <div>4、JavaScript表达式-运算: {{ message + '+表达式'}}</div>
  <div>4、JavaScript表达式-三元: {{ message.includes('小羊')?'小羊':'不是小羊'}}</div>
  <div :id="`name-${message}`">4、JavaScript表达式</div>
  <div :title="getName()">4、JavaScript表达式-方法:{{getName()}}</div>
  

5.动态参数

 <!-- 5、动态参数 -->
  <a v-bind:[attributeName]="url">动态参数</a>
  <a :[attributeName]="url">动态参数</a>
  
  <div @[eventName]="doSomething"></div>
  
  // 5、动态参数
const attributeName = "href"
const url="http://www.baidu.com"

const eventName="click"
const doSomething = function(){
  location.href ="http://www.baidu.com"
}

以上整体代码:

<template>
  <h1>模板语法</h1>
  
  <!-- 1、文本插入: {{}} -->
  <div>1.文本插入:{{message}}</div>
  
  <!--  2、原始HTML: v-html="" -->
  <div>2.原始HTML:<span v-html="originHTML"></span></div>
  
  <!--  3、Attribute 绑定:v-bind:bingName=bindValue -->
  <div v-bind:id="attrValue">3、Attribute绑定</div>
  <!--  简写为:  :bindName=bindValue -->
  <div :id="attrValue">3、Attribute绑定简写</div>
  
  <!-- 4、使用JavaScript表达式 -->
  <div>4、JavaScript表达式-运算: {{ message + '+表达式'}}</div>
  <div>4、JavaScript表达式-三元: {{ message.includes('小羊')?'小羊':'不是小羊'}}</div>
  <div :id="`name-${message}`">4、JavaScript表达式</div>
  <div :title="getName()">4、JavaScript表达式-方法:{{getName()}}</div>
  
  
  <!-- 5、动态参数 -->
  <a v-bind:[attributeName]="url">动态参数</a>
  <a :[attributeName]="url">动态参数</a>
  
  <div @[eventName]="doSomething"></div>
</template>

<script setup lang="ts">
// 1、文本插入: {{}}
const message = "小羊爱吃草"

// 2、原始HTML: v-html=""
let originHTML = `
  <span style="color:green;font-weight:bold;">
    小羊吃绿色的草
  </span>`
  
// 3、Attribute 绑定:v-bind:bingName=bindValue
let attrValue = "小羊被绑定了"

// 4、JavaScript表达式
const getName = function(){
  return 'jsName'
}

// 5、动态参数
const attributeName = "href"
const url="http://www.baidu.com"

const eventName="click"
const doSomething = function(){
  location.href ="http://www.baidu.com"
}
</script>

<style scoped>

</style>

运行结果:

onst eventName=“click”
const doSomething = function(){
location.href =“http://www.baidu.com”
}


运行结果:

![在这里插入图片描述](https://img-blog.csdnimg.cn/15545f2cb14a49b58761fe1e36a38a73.png#pic_center)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值