代码之家  ›  专栏  ›  技术社区  ›  MachoBoy

独立Vue js:将数据传递到模式组件

  •  0
  • MachoBoy  · 技术社区  · 8 年前

    您好,我有关于使用独立Vue js将数据传递到模态组件的问题。 流程是用户单击“选择一个国家”按钮,模式打开,用户可以使用滑块选择一个国家。用户单击“确认”后,模式将关闭。

    我尝试使用for循环将数据传递到模式组件中,但它也打印出许多按钮。

    谢谢你的帮助

    我有一个HTML代码,用户可以选择一个国家

    <div class="select_championship_country" @click="enableCountryModal()">Select a country</div>
    <modal v-if="showCountryModal" @close="showModal = false"></modal>
    

    下面是模态部件代码:

     <!-- countury modal -->
            <script type="text/x-template" id="modal-template">
                <transition name="modal">
                  <div class="modal-mask">
                    <div class="modal-wrapper">
                      <div class="modal-container">
                        <div class="modal-header">
                          <slot name="header">
                            select the country you want to support
                          </slot>
                        </div>
    
                        <div class="modal-body">
                          <slot name="body">
                            <div class="country_select_carousel">
                              <div class="countrySlide">
                                <!-- <img :src="imgUrl + '/flags/' + item.imgName"> -->
                              </div>
                            </div>
                          </slot>
                        </div>
    
                        <div class="modal-footer">
                          <slot name="footer">
                            <div class="modal-default-button" @click="$emit('close')">
                              confirm
                            </div>
                          </slot>
                        </div>
                      </div>
                    </div>
                  </div>
                </transition>
              </script>
    

    这是国家数据数组对象和模态组件

    new Vue({
      el: '#root',
      components: {
        modal: {
          template: '#modal-template',
        }
      },
      data: {
        country_carousel_data: [
          {
            imgName: 'brasil.svg',
            desc: 'brasil',
          },
          {
            imgName: 'canada.svg',
            desc: '',
          },
          {
            imgName: 'egypt.svg',
            desc: '',
          },
          {
            imgName: 'france.svg',
            desc: '',
          },
          {
            imgName: 'germany.svg',
            desc: '',
          },
          {
            imgName: 'india.svg',
            desc: '',
          },
          {
            imgName: 'poland.svg',
            desc: '',
          },
          {
            imgName: 'portugal.svg',
            desc: '',
          },
          {
            imgName: 'tunisia.svg',
            desc: '',
          },
          {
            imgName: 'turkey.svg',
            desc: '',
          },
          {
            imgName: 'uk.svg',
            desc: '',
          },
          {
            imgName: 'usa.svg',
            desc: '',
          },
        ],
     }
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   Karthikeyan    8 年前

    在模态模板中,您在哪里使用for循环?我看不到任何v-for。

    <script type="text/x-template" id="modal-template">
                <transition name="modal">
                  <div class="modal-mask">
                    <div class="modal-wrapper">
                      <div class="modal-container">
                        <div class="modal-header">
                          <slot name="header">
                            select the country you want to support
                          </slot>
                        </div>
    
                        <div class="modal-body">
                          <slot name="body">
                            <div class="country_select_carousel">
                              <div class="countrySlide">
    
                               <img v-for="item in country_carousel_data" :src="imgUrl + '/flags/' + item.imgName"> 
                              </div>
                            </div>
                          </slot>
                        </div>
    
                        <div class="modal-footer">
                          <slot name="footer">
                            <div class="modal-default-button" @click="$emit('close')">
                              confirm
                            </div>
                          </slot>
                        </div>
                      </div>
                    </div>
                  </div>
                </transition>
              </script>
    
    推荐文章