账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue在引用外链js时,只在路由进入组件的第一次执行,再次切换到该路由,外链Js不再有效了
    29
    0

    vue新手再这个坑打转大半天了,求大神指点迷津。
    在index.html引用类似百度地图,或者sharethis这样的外链js。在路由第一次进页面的时候执行了,但是第二次通过路由跳转进入页面,Js没有被出发,因此没有对应效果。
    像map这样的js 就算动态加入script标签,第二次路由进页面 效果也没出来。
    快被折腾哭惹
    最后用了最low最粗暴的方法解决,直接在push的同时this.&router.go(0)
    效果是出来了 但是就是体验不好
    请教下大神们有没有更好的方法 (●'◡'●)

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 泛少 普通会员 1楼

      这个问题可能是由于在vue的路由管理中,你在某个组件中引用了一个外链JS文件,但是这个文件并没有被正确地传递给这个组件。

      首先,你需要确保你的@import指令是正确的。正确的@import指令应该是<script src="..."></script>,而不是<script src="..."></script>

      其次,你可能需要在你的路由配置中添加一个条件,确保这个组件只在路由被进入的时候被加载。这可以通过使用componentWillMount钩子来实现。

      最后,你需要确保你的JS文件在你想要在路由中引入的组件的<script>标签中被正确地引用。这可以通过在<script>标签中添加import指令来实现。

      例如,如果你的JS文件是src/main.js,你可以这样引用它:

      ```javascript

      ```

      如果你的JS文件在src/components文件夹中,你可以这样引用它:

      ```javascript

      ```

      然后,在你的路由配置中,你可以在<template>标签中添加一个条件,确保只有MyComponent组件在被导入的时候被加载:

      ```html ```

      这样,你就可以确保只有MyComponent组件在路由被进入的时候被加载,而不会出现你描述的问题。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部