首页 > 其他分享 >【vue3入门】-【5】属性绑定

【vue3入门】-【5】属性绑定

时间:2024-04-25 21:02:35浏览次数:23  
标签:入门 绑定 test vue3 msg myid id 属性

属性绑定

双大括号不能在html attributes中使用。想要响应的绑定一个attribute,应该使用v-bind指令

<script>
export default {
  data() {
    return {
      msg: "active",
      myid:"test-id"
    }
  }
}
</script>

<template>
  <div class="{{msg}}">测试</div> <!--错误用法-->
  <div v-bind:id="myid" v-bind:class="msg">测试</div>
</template>

v-bind指令知识Vue将元素的id attribute与组件dynamicid属性保持一致,如果绑定的值是null或者是undefined,那么该attribute将会从渲染的元素上移除

<script>
export default {
  data() {
    return {
      msg: "msg",   // 如果值为null或者为undefined,则会将该属性从标签属性中移除
      myid:"test-id",
      mytitle:"my-title"
    }
  }
}
</script>
<template>
  <div v-bind:id="myid" v-bind:class="msg" v-bind:title="mytitle">测试</div>
</template>

<style>
.active{
  color:red;
  font-size:20px;
}
</style>

属性绑定-简写

因为v-bind非常常用,因此vue提供了特定的简写语法

<div :id="dynamicId" :class="dynamicClass"></div>

布尔型Attribute

布尔型Attribute依据true/false值来决定Attribute是否应该存在于该元素上,disabled就是最常见的例子之一

<script>
export default {
  data() {
    return {
      msg: "msg",
      myid:"test-id",
      mytitle:"my-title",
      isbuttondisable:true // true控制不可点击,false控制可点击
    }
  }
}
</script>
<template>
  <div v-bind:id="myid" v-bind:class="msg" v-bind:title="mytitle">测试</div>
  <button :disabled="isbuttondisable">按钮</button>
</template>

<style>
.active{
  color:red;
  font-size:20px;
}
</style>

动态绑定多个值

<style>
.active {
  color: red;
  font-size: 20px;
}
</style>
<template>
  <div v-bind:id="myid" v-bind:class="msg" v-bind:title="mytitle">测试</div>
  <button :disabled="isbuttondisable">按钮</button>
  <div v-bind="objectofattrs"></div> <--使用时,直接使用封装好的属性-->
</template>
<script>
export default {
  data() {
    return {
      msg: "msg",
      myid: "test-id",
      mytitle: "my-title",
      isbuttondisable: true,
      objectofattrs:{ //直接囊括多类属性
        myid: "test-id",
      mytitle: "my-title",
      }
    }
  }
}
</script>

image

标签:入门,绑定,test,vue3,msg,myid,id,属性
From: https://www.cnblogs.com/T-Ajie/p/18158564

相关文章

  • 【vue3入门】-【6】条件渲染
    条件渲染在vue中,提供了条件渲染,这类似于javascript中的条件语句v-ifv-elsev-else-ifv-showv-if指令用于条件性的渲染一块内容,这块内容只会在指令的表达式返回真值时才会渲染。v-else指令则在前面的if指令都不满足时则执行的指令<template><div>条件渲染</div><......
  • 【vue3入门】-【7】列表渲染
    列表渲染v-for列表渲染可以使用一个v-for指令基于一个数组来渲染一个列表,v-for指令的值需要使用iteminitems形式的特殊语法,其中items是源数据的数组,而item是迭代项的别名,item是可以改名的,和{{}}内的名称保持一致就行,结合div或其他标签使用,可以获取列表内的多个属性值v-fo......
  • 【vue3入门】-【8】事件处理
    事件处理我们可以使用v-on指令(简写为@)来监听DOM事件,并在事件触发时,执行对应的javascript。用法v-on:click="methodName"或者@click="handler"事件处理器的值可以是:内联事件处理器:事件被触发时执行的内联JavaScript语句(与onclick类似)方法事件处理器:一个指向组件上顶一个方法的......
  • 【Flink入门修炼】2-3 Flink Checkpoint 原理机制
    如果让你来做一个有状态流式应用的故障恢复,你会如何来做呢?单机和多机会遇到什么不同的问题?FlinkCheckpoint是做什么用的?原理是什么?一、什么是Checkpoint?Checkpoint是对当前运行状态的完整记录。程序重启后能从Checkpoint中恢复出输入数据读取到哪了,各个算子原来的状态是......
  • 【vue3入门】-【2】文本插值
    文本插值最基本的数据绑定形式是文本插值,它使用的是”Mustache“语法(即双大括号)<script>exportdefault{data(){return{msg:"神奇的语法"}}}//以上为文本插值的固定使用格式</script><template><h3>模版语法</h3><p>{{msg}}</p></templ......
  • 【vue3入门】-【3】使用javascript表达式
    使用javascript表达式每个绑定仅支持单一表达式,也就是一段能够被求值的JavaScript代码。一个简单的判断方法是是否可以合法的写在return后面。<template><h3>模版语法</h3><p>{{msg}}</p><p>{{number+1}}</p><p>{{ok?"yes":"No"}}</......
  • 【vue3入门】-【4】插入html
    原始html双大括号,将会将数据插值为纯文本,而不是html,若想要插入html,则需要使用v-html指令<template><h3>模版语法</h3><p>{{tthtml}}</p><!--会直接将html文本展示出来-->><pv-html="tthtml"></p><!--会在进行渲染后展示出来-->></templa......
  • vue中函数使用、class和style属性、条件渲染、列表渲染、数据的双向绑定、input事件、
    【事件指令中的函数使用】1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8">5<title>Title</title>6<scriptsrc="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"&......
  • 【vue-入门】-【1】Vue介绍与项目结构
    Vue是什么?渐进式javaScript框架,易学易用,性能出色,适用场景丰富的web框架官方文档地址:https://cn.vuejs.orgVue简介是渐进式javascript框架,易学易用,性能出色,适用场景丰富的web前端框架Vue是一款用于构建用户节点的javascript框架。它基于标准html、css、javascript构建并提......
  • vue3使用echarts的tree,自己写事件进行分页
    vue3使用echarts的tree,自己写事件进行分页  先到npmjs官网查看当前使用最多的版本https://www.npmjs.com/package/echarts 看了下5.5.0用的最多[email protected] 以下的demo(“@/flare”是后面的flare.json数据)<template><divid="chart-container"></div......