【问题标题】:How to split the content of a VueJS template in multiple files如何将 VueJS 模板的内容拆分到多个文件中
【发布时间】:2019-09-27 06:56:53
【问题描述】:

在下面的示例中,我想将我的应用程序的显示保留在主文件中,并将设置版本保留在单独的文件中(每个设置一个文件),以使代码更清晰,可读性更好。

<template>
  <div>

    <!-- KEEP DISPLAY IN MAIN FILE -->

    <!-- display myVar content -->
    <div>my var: {{ myVar }}</div>

    <!-- display myArray content -->
    <div v-for="(item, index) in myArray" :key="i">
      item: {{ item }}
    </div>

    <!-- display myObject content -->
    <div v-for="(item, index) in myObject['foo']" :key="i">
      item: {{ item }}
    </div>

    <!-- MOVE TO FILE A: myVar settings -->
    <input type="text" v-model="myVar" />

    <!-- MOVE TO FILE B: myArray settings -->
    <div v-for="(s, index) in myArray" :key="i">
      <input type="text" v-model="myArray[i]" @change="resetMyArray" />
    </div>

    <!-- MOVE TO FILE C: myObject settings -->
    <div v-for="(abc, index) in myObject.foo" :key="i">
      <input type="text" v-model="myObject.foo[index]" />
      <input type="text" v-model="myObject.bar[index]" />
    </div>

  </div>
</template>

我应该如何将此模板拆分为多个文件?

【问题讨论】:

  • 我不想在我的代码中添加更多逻辑,只想将模板拆分为不同的文件,使其更具可读性和更易于编辑。
  • 您所拥有的内容易于阅读和编辑。在 vue 中,您创建 components 以抽象内容,如链接所示(如何将数据从子级传递和接收到父级等)。
  • 这个最小的例子很容易阅读和编辑,但真正的代码实际上要大得多。不建议从子组件更改父组件变量。
  • 你的权利,你在哪里看到的?

标签: vuejs2


【解决方案1】:

主文件:

<template>
  <div>
    <PComponent :var="var1"/>
    <PComponent :var="var2"/>
    <PComponent :var="var3"/>
  </div>
</template>

<script>
import PComponent from './PComponent'

export default {
  components: {
    PComponent
  }
}
</script>

PComponent.vue:

<template>
   <p>var: {{ var }}</p>
</template>

<script>
export default {
  props: ['var']
}
</script>

【讨论】:

  • 您也可以使用v-for进一步改进代码
  • 感谢您的回答,但不建议从子组件编辑主组件中使用的变量。我更新了帖子的源代码以更好地展示我的问题。
猜你喜欢
  • 2017-07-15
  • 1970-01-01
  • 2019-06-14
  • 1970-01-01
  • 2011-05-07
  • 1970-01-01
  • 2013-01-09
  • 2019-01-18
  • 2017-01-02
相关资源
最近更新 更多