0

我一直在寻找一种方法来消除我的项目中对 jQuery 的需求。轮播是我使用 jQuery 的最后一个堡垒,所以我正在尝试为不依赖 jQuery 的轮播设置 GlideJS。当我new Glide({})在 Rails 控制台中运行时,我得到NoMethodError (undefined method 'Glide' for main:Object)

如果我查看我看到的 Firefox 开发工具中的错误[Glide warn]: Root element must be a existing Html node / Uncaught TypeError: this.root is undefined

应用程序.js

require("@rails/ujs").start()
require("turbolinks").start()
require("channels")

import 'controllers'
import "bootstrap"

import Glide from '@glidejs/glide'

new Glide('.glide').mount()

frontpage.html.erb

<div class="glide">
    <div class="glide__track" data-glide-el="track">
      <ul class="glide__slides">
        <li class="glide__slide">slide1</li>
        <li class="glide__slide">slide2</li>
        <li class="glide__slide">slide3</li>
        <li class="glide__slide">slide4</li>
      </ul>
    </div>

    <div class="glide__arrows" data-glide-el="controls">
      <button class="glide__arrow glide__arrow--left" data-glide-dir="<"><</button>
      <button class="glide__arrow glide__arrow--right" data-glide-dir=">">></button>
    </div>
</div>

迄今为止,我在我的项目中没有使用太多(如果有的话)javascript。

4

1 回答 1

0

由于我对 JS 不精通,所以这是给我的,它起作用了。

在 application.js

document.addEventListener("turbolinks:load", () => {
    new Glide('.glide', {
            }).mount()
})
于 2021-02-26T16:09:31.770 回答