Vue-router切换后jquery的dom操作失效

<script>
    require('../../../../res.js');
    require('./fliter.vue');
    var $ = require('jquery');
    export default {
        data() {
            return {
                noticeList: []
            }
        },
        created() {
            var self = this;
            res.notice.get_list({
                "page_size": 6
            }, function(error, data) {
                if (data) {
                    self.noticeList = data;
                    setTimeout(function() {
                        require('./noticeJquery.vue')
                    },1);
                } else {
                    location.href = "/static/login.html";
                }
            });
        }
    }
</script>

现在的写法是这样的,等vue实例获取到ajax的数据后,等1毫秒加载jquery的dom操作。

但是使用vue-router后,切换到另外一个页面再切换回来。jquery就失效了。

请问我该怎么解决这个问题?让vue-router切换回原来的页面时候,也加载jquery的操作。

如何让jquery和vue合作的更好,或者有什么可以替代jquery直接操作Dom的吗?

阅读 4.6k
1 个回答

首先你要改变手动操作DOM的思路,有了Vue之后,就不需要在手动操作DOM,用Directives;
其次用了vue-router后,数据加载不要用created用data,详情参考切换控制流水线

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题