谁能解释为什么会这样? Vue的新手,不明白怎么了?

这有效:

<template>
    <div>
        ...
        <div v-else>
            {{ remaining.hours > 0 ? (remaining.hours < 10 ? '0' : '') + remaining.hours + ':' : '' }}


但是,当我尝试添加跨度时,出现“未封闭的字符串文字”错误:

<template>
    <div>
        ...
        <div v-else>
            {{ remaining.hours > 0 ? (remaining.hours < 10 ? '0' : '') + remaining.hours + '<span class="colon">:</span>' : '' }}

最佳答案

大括号将数据解释为纯文本。对于HTML,请使用v-html指令:

<div v-else v-html="remainingHtml">


computed : {
  remainingHtml () {
    return remaining.hours > 0 ? (remaining.hours < 10 ? '0' : '') + remaining.hours + '<span class="colon">:</span>' : '' :
  }
}


https://vuejs.org/v2/guide/syntax.html

09-19 01:03