.vue 单文件组件中使用的基础问题

Phi*_*ers 1 javascript css zurb-foundation vue.js vuejs2

我意识到在.vue 单文件组件中使用Zurb Foundation类时存在问题。起初,我无法让Reveal Modal在 中工作,但当我在或文件中使用相同的代码时,它可以工作。然后我注意到一个模式,因为当我尝试在组件内使用Foundation 的 Orbit时,它失败了,起初我认为这是一个错误,但后来我在文件中使用了相同的代码并且它起作用了。其他基础类,如、和都工作得很好。.vue componentbladehtmlbladerowgridbuttons

有人遇到过同样的问题吗?我该如何解决这个问题?

这是模式的代码:

<a data-open="video" class="button warning" href="">WATCH VIDEO</a>

<div id="video" class="reveal" data-reveal>
    <div class="lead">
        <button class="close-button" data-close aria-label="Close modal" type="button">
            <span aria-hidden="true">&times;</span>
        </button>
    </div>
    <div class="flex-video">
        <iframe width="1280" height="720" :src="url" frameborder="0" allowfullscreen></iframe>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

对于轨道,我使用基础文档中的基本示例进行测试。

    <div class="orbit" role="region" aria-label="Favorite Space Pictures" data-orbit>
  <ul class="orbit-container">
    <button class="orbit-previous"><span class="show-for-sr">Previous Slide</span>&#9664;&#xFE0E;</button>
    <button class="orbit-next"><span class="show-for-sr">Next Slide</span>&#9654;&#xFE0E;</button>
    <li class="is-active orbit-slide">
      <img class="orbit-image" src="assets/img/orbit/01.jpg" alt="Space">
      <figcaption class="orbit-caption">Space, the final frontier.</figcaption>
    </li>
    <li class="orbit-slide">
      <img class="orbit-image" src="assets/img/orbit/02.jpg" alt="Space">
      <figcaption class="orbit-caption">Lets Rocket!</figcaption>
    </li>
    <li class="orbit-slide">
      <img class="orbit-image" src="assets/img/orbit/03.jpg" alt="Space">
      <figcaption class="orbit-caption">Encapsulating</figcaption>
    </li>
    <li class="orbit-slide">
      <img class="orbit-image" src="assets/img/orbit/04.jpg" alt="Space">
      <figcaption class="orbit-caption">Outta This World</figcaption>
    </li>
  </ul>
  <nav class="orbit-bullets">
    <button class="is-active" data-slide="0"><span class="show-for-sr">First slide details.</span><span class="show-for-sr">Current Slide</span></button>
    <button data-slide="1"><span class="show-for-sr">Second slide details.</span></button>
    <button data-slide="2"><span class="show-for-sr">Third slide details.</span></button>
    <button data-slide="3"><span class="show-for-sr">Fourth slide details.</span></button>
  </nav>
</div>
Run Code Online (Sandbox Code Playgroud)

Phi*_*ers 5

vue components使用with时出现问题foundation js components,这就是为什么它们没有按照此处的说明显示的原因

所以我在我的脚本标签中添加了这个指令:

Vue.directive('f-orbit', {
    bind: function (el) {
        new Foundation.Orbit($(el))
    },
    unbind: function (el) {
        $(el).foundation.destroy()
    }
})
Run Code Online (Sandbox Code Playgroud)

在我的模板中,我添加了v-f-orbit而不是默认的data-orbit

<div class="contemporary orbit" role="region" aria-label="Contemporary Pictures" v-f-orbit>
Run Code Online (Sandbox Code Playgroud)

我希望这能帮助那些陷入困境的人。