如何在Vue.js模板中设置大量的HTML?

时间:2018-03-01 10:28:12

标签: javascript vue.js vuejs2

我是Vue.js的新手。我有一个关于如何在vue.js模板中呈现大量HTML的问题。

所以我在我的模板中放了一个类似于500行普通HTML的HTML。当我做的时候

  

npm run dev

编译是放慢速度,或者不完成编译。

<template>
  <div class="m-grid m-grid--hor m-grid--root m-page">
      <mobile-menu-partial></mobile-menu-partial>
      <header-partial></header-partial>

      <div>HTML goes here</div>  <------

      <footer-partial></footer-partial>
  </div>
</template>

那么有一种简单的方法吗?我搜索了所有内容,但找不到该问题的任何网站。

这是我的HTML。

<div class="m-grid__item m-grid__item--fluid m-grid m-grid--hor-desktop m-grid--desktop m-body">
    <div class="m-grid__item m-grid__item--fluid  m-grid m-grid--ver m-container m-container--responsive m-container--xxl m-page__container">
        <div class="m-grid__item m-grid__item--fluid m-wrapper">
            <div class="section-contacts">
                <!-- CONTACTS -->
                <div class="m-content">
                    <div class="m-portlet">
                        <div class="m-portlet__body  m-portlet__body--no-padding">
                            <div class="row m-row--no-padding m-row--col-separator-xl">
                                <div class="col-xl-6">
                                    <div class="standard-widget">
                                        <div class="m-widget14">
                                            <div class="widget_header_menu margin-bottom-10">
                                                <div class="m-widget14__header">
                                                    <h3 class="m-widget14__title">Grups</h3>
                                                    <span class="m-widget14__desc">3 groups</span>
                                                </div>
                                                <div class="m-widget14__header_menu">
                                                    <button type="button" class="btn btn-accent btn-md m-btn m-btn--icon m-btn--icon-only m-btn--pill" data-toggle="modal" data-target="#createGroupModal"><i class="la la-plus"></i></button>
                                                </div>
                                            </div>
                                            <div class="row align-items-center margin-bottom-15">
                                                <div class="col">
                                                    <div class="form-group m-form__group">
                                                        <input class="form-control form-control-search m-input" autocomplete="off" type="text" name="" value="" placeholder="Search...">
                                                    </div>
                                                </div>
                                            </div>
                                            <div class="row align-items-center margin-bottom-15">
                                                <div class="col">
                                                    <div class="m-scrollable">
                                                        <div class="m-list-timeline m-list-timeline--skin-light">
                                                            <div class="m-list-timeline__items no-timeline">
                                                                <div class="m-list-timeline__item no-timeline">
                                                                    <span class="m-list-timeline__text">
                                                                        <span class="timeline-title"><span class="clr-black-light"><a href="contacts-group.html">Group name</a></span></span>
                                                                        <span class="timeline-subtitle"><span class="clr-grey"><a href="contacts-group.html">3 Contacts</a></span></span>
                                                                    </span>
                                                                </div>
                                                                <div class="m-list-timeline__item no-timeline">
                                                                    <span class="m-list-timeline__text">
                                                                        <span class="timeline-title"><span class="clr-black-light"><a href="contacts-group.html">Group name</a></span></span>
                                                                        <span class="timeline-subtitle"><span class="clr-grey"><a href="contacts-group.html">3 Contacts</a></span></span>
                                                                    </span>
                                                                </div>
                                                                <div class="m-list-timeline__item no-timeline">
                                                                    <span class="m-list-timeline__text">
                                                                        <span class="timeline-title"><span class="clr-black-light"><a href="contacts-group.html">Group name</a></span></span>
                                                                        <span class="timeline-subtitle"><span class="clr-grey"><a href="contacts-group.html">3 Contacts</a></span></span>
                                                                    </span>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-xl-6">
                                    <div class="standard-widget">
                                        <div class="m-widget14">
                                            <div class="widget_header_menu margin-bottom-10">
                                                <div class="m-widget14__header">
                                                    <h3 class="m-widget14__title">Contacts</h3>
                                                    <span class="m-widget14__desc">5 contacts</span>
                                                </div>
                                                <div class="m-widget14__header_menu">
                                                    <button type="button" class="btn btn-accent btn-md m-btn m-btn--icon m-btn--icon-only m-btn--pill" data-toggle="modal" data-target="#createContactModal"><i class="la la-plus"></i></button>
                                                </div>
                                            </div>
                                            <div class="row align-items-center margin-bottom-15">
                                                <div class="col">
                                                    <div class="form-group m-form__group">
                                                        <input class="form-control form-control-search m-input" autocomplete="off" type="text" name="" value="" placeholder="Search...">
                                                    </div>
                                                </div>
                                            </div>
                                            <div class="row align-items-center">
                                                <div class="col">
                                                    <div class="m-scrollable">
                                                        <div class="m-list-timeline m-list-timeline--skin-light">
                                                            <div class="m-list-timeline__items no-timeline">
                                                                <div class="m-list-timeline__item no-timeline">
                                                                    <span class="m-list-timeline__badge">
                                                                        <div class="m-widget4__img m-widget4__img--pic">
                                                                            <a href="contact.html">
                                                                                <div class="img-wrapper">
                                                                                    <img src="assets/base/media/img/users/user2.jpg" alt="">
                                                                                </div>
                                                                            </a>
                                                                        </div>
                                                                    </span>
                                                                    <span class="m-list-timeline__text">
                                                                        <span class="timeline-title"><span class="clr-black-light"><a href="contact.html">Benson John</a></span></span>
                                                                        <span class="timeline-subtitle"><span class="clr-grey"><a href="contact.html">+385 99 416 9113</a></span></span>
                                                                    </span>
                                                                </div>
                                                                <div class="m-list-timeline__item no-timeline">
                                                                    <span class="m-list-timeline__badge">
                                                                        <div class="m-widget4__img m-widget4__img--pic">
                                                                            <a href="contact.html">
                                                                                <div class="img-wrapper">
                                                                                    <img src="assets/base/media/img/users/user1.jpg" alt="">
                                                                                </div>
                                                                            </a>
                                                                        </div>
                                                                    </span>
                                                                    <span class="m-list-timeline__text">
                                                                        <span class="timeline-title"><span class="clr-black-light"><a href="contact.html">Clark Anna</a></span></span>
                                                                        <span class="timeline-subtitle"><span class="clr-grey"><a href="contact.html">+385 99 416 9113</a></span></span>
                                                                    </span>
                                                                </div>
                                                                <div class="m-list-timeline__item no-timeline">
                                                                    <span class="m-list-timeline__badge">
                                                                        <div class="m-widget4__img m-widget4__img--pic">
                                                                            <a href="contact.html">
                                                                                <div class="img-wrapper">
                                                                                    <img src="assets/base/media/img/users/user4.jpg" alt="">
                                                                                </div>
                                                                            </a>
                                                                        </div>
                                                                    </span>
                                                                    <span class="m-list-timeline__text">
                                                                        <span class="timeline-title"><span class="clr-black-light"><a href="contact.html">Grohl Dave</a></span></span>
                                                                        <span class="timeline-subtitle"><span class="clr-grey"><a href="contact.html">+385 99 416 9113</a></span></span>
                                                                    </span>
                                                                </div>
                                                                <div class="m-list-timeline__item no-timeline">
                                                                    <span class="m-list-timeline__badge">
                                                                        <div class="m-widget4__img m-widget4__img--pic">
                                                                            <a href="contact.html">
                                                                                <div class="img-wrapper">
                                                                                    <img src="assets/base/media/img/users/user3.jpg" alt="">
                                                                                </div>
                                                                            </a>
                                                                        </div>
                                                                    </span>
                                                                    <span class="m-list-timeline__text">
                                                                        <span class="timeline-title"><span class="clr-black-light"><a href="contact.html">Porter Ella</a></span></span>
                                                                        <span class="timeline-subtitle"><span class="clr-grey"><a href="contact.html">+385 99 416 9113</a></span></span>
                                                                    </span>
                                                                </div>
                                                                <div class="m-list-timeline__item no-timeline">
                                                                    <span class="m-list-timeline__badge">
                                                                        <div class="m-widget4__img m-widget4__img--pic">
                                                                            <a href="contact.html">
                                                                                <div class="img-wrapper">
                                                                                    <img src="assets/base/media/img/users/user5.jpg" alt="">
                                                                                </div>
                                                                            </a>
                                                                        </div>
                                                                    </span>
                                                                    <span class="m-list-timeline__text">
                                                                        <span class="timeline-title"><span class="clr-black-light"><a href="contact.html">Wood Kelly</a></span></span>
                                                                        <span class="timeline-subtitle"><span class="clr-grey"><a href="contact.html">+385 99 416 9113</a></span></span>
                                                                    </span>
                                                                </div>
                                                            </div>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

请帮忙。感谢。

1 个答案:

答案 0 :(得分:0)

有很多方法可以在Vue中定义模板。对于大模板,我建议使用X-Templates。按ID定义组件引用模板。

Vue.component('my-checkbox', {
  template: '#checkbox-template',
  data() {
    return {
      checked: false,
      title: 'Check me'
    }
  },
  methods: {
    check() {
      this.checked = !this.checked;
    }
  }
});

使用适当的id在html文件中定义模板。例如:

<script type="text/x-template" id="checkbox-template">
  <div class="checkbox-wrapper" @click="check">
    <div :class="{ checkbox: true, checked: checked }"></div>
    <div class="title"></div>
  </div>
</script>

More and Source.