插值表达式
{ {属性名/方法名()/表达式}}
把结果渲染在DOM元素中文本注意: 不能使用if-else结构,可以使用 三目运算
表达式? 值1:值2
例如:
<div id="app"> <h2>{ {message}}</h2> //插入属性 <h2>{ {1+2}}</h2> //插入表达式 <h2>{ {fun()}}</h2> //插入方法 <h2>{ {flag?1:0}}</h2> //插入三目运算符 <!-- <h2>{ {if(flag){return 1}else{return 0}}}</h2> -->//报错 </div> <script> // 1.创建app const app = Vue.createApp({ data: function() { return { message: "Hello Vue", //定义属性并赋值 flag:true } }, methods:{ fun(){ //定义方法,并返回值 return "你好"; } } }) // 2.挂载app app.mount("#app") </script>
运行结果:
v-bind 动态绑定一个或者多个属性
在
html
标签原生属性前写v-bind
, 可让原生标签调用data中的属性例如:
<h2 v-bind:class="data中的属性"></h2>
v-bind
可简写为:
例如:
<h2 :class="data中的属性"></h2>
<div id="app"> <!-- <h2 v-bind:class="styleA">{ {message}}</h2> --> <!--简写--> <h2 :class="styleA">{ {message}}</h2> <!-- <div v-bind:id="att.id" v-bind:class="att.class">我是div</div> --> <div v-bind="att">我是div</div> </div> <script> // 1.创建app const app = Vue.createApp({ // data: option api data: function() { return { message: "Hello Vue", styleA:'green', att:{ id:"box", class:"red&