动态绑定值

模板字符串 ` ` : 简化字符串拼接;

 ${} :插入变量或表达式的结果,在 ${} 中调用函数,并将返回值插入到字符串中;

 1. 绑定值拼接形式 :绑定多个组合动态值,比如接口返回的数据等

例如:

        <el-dialog  :title="`${formData.oldSupervisorName ? '修改' : '新增'}通知`">..</el-dialog>

        :label=“`${item.label}${item.num > 0 ? `(${item.num})` : ' ' }`” 

         :label="`${item.indexName}-${getindexType(item.indexType)}`"

<template>
  <el-form-item
    label="部门"
    prop="">
      <el-select v-model="value" placeholder="请选择">
         <el-option
            v-for="(item,index) in departmentOptions"
            :key="index"
            :label="`${item.label}(${item.num})`"
            :value="item.value">
          </el-option>
      </el-select>
  </el-form-item>
</template>

data(){
  return {
   departmentOptions:[
     {
        value: '选项1',
        label: '选项绑定值',
        num:3,
     }, {
        value: '选项2',
        label: '选项',
        num:5,
     }, {
        value: '选项3',
        label: '选项',
        num:2,
     }
   ],
   value: '',
  }
}

2.动态绑定类名 

        1.class的对象实现::class="{属性名:布尔值,属性名:布尔值}" 

<span :class="className" >只有一个动态类名</span>
<div :class="{ active: isActive, 'text-danger': hasError }">key:value(布尔值)</div> 

<div :class="isActive(tag) ? 'active' : ''"></div> 
 
data: {   isActive: true,   hasError: false }  

.className{ color:red,}
.active{color:red,}

        2.class的数组实现::class="[类名  类名,布尔值? 类名: 类名]" 

<div :class="[isActive ? activeClass : '', errorClass]"></div>

// 添加多个静态类名class-one class-two classFour
<div :class="['class-one class-two' classFour, panel? '' : 'class-three']"

// 多个类名,demo-box静态类名,始终应用  title-wrap类名需要条件,条件isShow为true会被应用
<div :class="['demo-box', { 'title-wrap': isShow }]"> </div>


data: { panel:false,  activeClass: 'active',   errorClass: 'text-danger',isShow :false} 


.class-one{} 
.class-two{}
.class-three{}
.demo-box{ color:red }
.subtitle-wrap{ font-size:16px}

1. style使用对象语法 :style="{ 属性: 属性值 , 属性: 属性值 , .......}

<template>
    <div :style="{ height: height, width: width }" ></div>
    
    <div :style="{ top: strokeWidth+ 'px' }"></div>
    // 接受传递的值时item.width
    <div :style="{ height: `${strokeWidth + 2}px`, width: `${item.width}px` }"></div>

</template>

export default {
 data(){
    return{
        height:'10px',
        width:'10px',
        strokeWidth:10,
    }
 }
}

2.style使用数组语法::style="[ 类名 , 类名 ]"

<div :style="[styleColor, styleSize]"></div> 

<div :style="[textStyle, { transform: `translateY(${spacing}px)` },{ 'custom-textarea': disabled }]">

<script>  
export default {  
  data() {  
    return { 
      styleColor:{ 
        color: 'pink',  
      },
      styleSize:{ 
        fontSize: '16px', 
      },
      spacing: 20, // 垂直移动的距离  
      textStyle: {  
        color: 'blue',  
      }  
    }  
  }  
}  
</script>  

<style>  
.text {  
}  
</style>  

 

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 根据提供的引用内容,可以看出在Vue中动态绑定时,如果从后台接收到的中包含换行符,可以通过以下方式处理。在Vue的data属性中,将接收到的作为字符串进行赋,然后在模板中使用v-html指令将字符串渲染为HTML内容。这样可以保留换行符的显示效果。例如,可以将接收到的赋给appIntro属性,并在模板中使用v-html指令渲染该属性的。具体代码如下所示: ```html <span id="appIntro" style="display: none">${app.intro}</span> <script> let vm = new Vue({ el: '#app-Detail', data: function () { return { appIntro: '' } }, mounted: function () { this.appIntro = $("#appIntro").html(); }, // ... }); </script> ``` 在上述代码中,通过将接收到的赋给appIntro属性,并在mounted钩子函数中使用jQuery方法获取隐藏元素的内容,然后将其赋给appIntro属性。接下来,在模板中使用v-html指令将appIntro属性的渲染为HTML内容。这样就可以保留换行符的显示效果。 #### 引用[.reference_title] - *1* *2* *3* [Vue Jsp页面绑定出现换行后台导致syntaxerror 问题处理](https://blog.csdn.net/wejack/article/details/126771309)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值