javascript - .join ("\n") 未使用 Vue CLI 在 JavaScript 数组中创建新行

标签 javascript vue.js vue-cli

我试图在数组“texts”中第一个项目的空格之间插入换行符,但 .split 和 .join 不会影响输出。我正在使用 Vue cli、gridsome 和 tailwindCSS。

我的方法针对数组中单词之间的空格来创建新行,这种方法是否有效,或者我是否需要重写 html 和 JavaScript 循环?

<template>
  <div id="content">
    <transition name="fade" mode="out-in">
      <p class="text-4xl py-3 text-center bg-egg-100 text-white px-3" :key="index">{{ text }}</p>
    </transition>
  </div>
</template>

<script>
export default {
  name: 'Intro',
  computed: {
    text: function() {
      return this.texts[this.index].split(" ").join("\n");
    }
  },
  data() {
    return {
      index: 0,
      texts: [
        'ABC DEF HIJ',
        'Alphabet'
    ]}  
  },
  created() {  
    this.startInterval();
  },
  methods: {
    startInterval: function() {
      setInterval(() => {
        this.index++;
        if (this.index >= this.texts.length)
        this.index = 0;
      }, 3500);
    }
  }  
}
</script>

<style>
#content {
    font-family: 'IPAex明朝';
}

.fade-leave-active {
  transition: opacity 1s ease-in;
  transition-duration: .5s;
}

.fade-enter-active {
  transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}

.fade-enter, .fade-leave-to {
  opacity: 0.0;
}

.fade-leave, .fade-enter-to {
  opacity: 1.0;
}
</style>

最佳答案

默认情况下,HTML 中会忽略换行符和连续空格。如果您希望呈现换行符,则需要设置 white-space该元素上的 CSS 样式为 pre-wrap 之类的值。

请勿使用 v-html,因为这容易受到 XSS 的影响。攻击。始终避免 v-html 除非您有充分的理由使用它。

关于javascript - .join ("\n") 未使用 Vue CLI 在 JavaScript 数组中创建新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58829377/

相关文章:

javascript - 在 Kendo UI Mobile 中扩展移动 View ?

javascript - 如何显示输入文件标签的文件路径?

vue.js - Vue : on div click, 转到数据中定义的url

javascript - 如何使用 Vue Cli 3 添加对 PDF 文件的支持?

javascript - new Date() 适用于 Chrome 但不适用于 Firefox

javascript - Wakanda:如何在属性更改时更改自定义小部件的类?

vue.js - Vue/Nuxt : How to define a global method accessible to all components?

javascript - Vue-Validator 表单验证不适用于 JS Fiddle

vue.js - 将路由添加到 Vue.js cli 3.0 应用程序

javascript - ESLint 不识别根别名 (@)