#string #vue.js
#строка #vue.js
Вопрос:
У меня есть строка текста, содержащая число. Я просто хотел выделить жирным шрифтом номер, а не остальной текст. есть ли простой способ сделать это возможным в vue js?
<a :href="detailUrl">
{{ content }}
<span v-if="detailText amp;amp; detailUrl" class="notification-detail-link"
>{{ detailText }} >></span
>
</a>
Переменная содержимого используется в качестве реквизита. Эта переменная содержит строку текста с номером, который я хотел бы выделить жирным шрифтом
Ответ №1:
Используйте вычисляемое свойство textBoldNumbers
, основанное на вашей prop директиве use v-html
, для его отображения :
props:["detailText "],
computed:{
textBoldNumbers(){
return this.detailText.replace(/([0-9])/g, "<b>$1</b>")
}
}
шаблон :
<a :href="detailUrl">
{{ content }}
<span v-if="detailText amp;amp; detailUrl"
class="notification-detail-link"
v-html="textBoldNumbers"
> </span
>
</a>
ПРИМЕР
Vue.config.devtools = false;
Vue.config.productionTip = false;
new Vue({
el: '#app',
data() {
return {
detailText: "aaa 98 vvv ddd 7 98"
}
},
computed: {
textBoldNumbers() {
return this.detailText.replace(/([0-9])/g, "<b>$1</b>")
}
}
})
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
<div id="app" class="container">
<span v-html="textBoldNumbers"> </span>
</div>
Комментарии:
1. Спасибо за ваш ответ, но речь идет не о переменной detailtext. Речь идет о переменной содержимого, эта переменная содержит число, которое я хотел бы выделить жирным шрифтом. Она находится над ней
2. просто замените
this.detailText
наthis.content
then<span v-html="textBoldNumbers"></span>
вместо{{content}}