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