代码之家  ›  专栏  ›  技术社区  ›  Giacomo Ciampoli

VUE事件不工作- NUXTJS静态网站

  •  0
  • Giacomo Ciampoli  · 技术社区  · 7 年前

    我在img标签上设置了mouseover和mouseleave事件:

    <img @mouseover="large" @mouseleave="resize" src="/img/intro-bologna-1.jpg" alt="Bologna gallery" class="gallery__img gallery__img--1">
    
    methods:{
            large(event){
                let siblings = this.findAllSiblings(event.target)
                siblings.forEach(sibling => sibling.style.transform = 'scale(.9)')
                event.target.style.transform = 'scale(1.2)'
            },
            resize(event){
                let siblings = this.findAllSiblings(event.target)
                siblings.forEach(sibling => sibling.style.transform = '')
                event.target.style.transform = ''
            },
            findAllSiblings(el){
                let parent = el.parentElement;
                let children = Array.from(parent.children);
                let siblings = children.filter(child => {
                    return child !== el
                })
                return siblings
            }
        }
    

    我不明白为什么,但当我跑 npm run generate 检查索引文件.html文件(我想构建一个100%静态网站),悬停效果不再工作(它在DEV环境中工作)

    我查过dist文件夹的来源了 pages_index.a57c13c1cfd73bfe116e.js 我可以看到我写的方法的文件

    我该怎么解决? 谢谢

    1 回复  |  直到 7 年前
        1
  •  0
  •   rozklad    7 年前

    我已经测试了你的代码 它工作得很好 .

    我相信您的脚本路径在生成的index.html中是错误的,因为您可能没有从域的根运行它。你的资产之路 /_nuxt/ 会错的。您应该可以通过查看控制台来验证这一点,您将看到许多这些未找到的文件:

    /_nuxt/something paths will work only from root domain

    为了在浏览器中测试生成的index.html,您可能需要将 /dist/ 使用您喜欢的任何环境将文件夹放入vhost。为了测试你的代码,我用 laravel-valet valet link 进入 /DIST/ 文件夹到样例域,但您不妨使用Apache V主机,上传代码来测试WebSo宿或诸如此类的东西。