Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Vue.JS中使用CSS/JS/jQuery主题_Javascript_Jquery_Vue.js - Fatal编程技术网

Javascript 在Vue.JS中使用CSS/JS/jQuery主题

Javascript 在Vue.JS中使用CSS/JS/jQuery主题,javascript,jquery,vue.js,Javascript,Jquery,Vue.js,我目前正在编写一个小型静态站点,我决定使用Vue.js,因为我在过去使用它时没有遇到任何重大问题。这一次,我不得不使用一个基于jQuery/Bootstrap的预制模板,大部分繁重的工作都是通过JS完成的 我正试着用这个。我已经能够转换基本功能(CSS、添加路由器等),但我正在努力解决JS方面的问题。据我所知,一旦加载了整个页面,来自模板的不同“组件”就会被激活。init脚本遍历HTMLDOM并“激活”它们 通常这很好,特别是在使用旧的jQuery风格的方法时,但是由于Vue的组件生命周期,JS

我目前正在编写一个小型静态站点,我决定使用Vue.js,因为我在过去使用它时没有遇到任何重大问题。这一次,我不得不使用一个基于jQuery/Bootstrap的预制模板,大部分繁重的工作都是通过JS完成的

我正试着用这个。我已经能够转换基本功能(CSS、添加路由器等),但我正在努力解决JS方面的问题。据我所知,一旦加载了整个页面,来自模板的不同“组件”就会被激活。init脚本遍历HTMLDOM并“激活”它们

通常这很好,特别是在使用旧的jQuery风格的方法时,但是由于Vue的组件生命周期,JS不会在页面上出现新组件时重新执行,因此看起来好像不起作用

最合乎逻辑的方法是使用每个Porto组件,并将其拆分为Vue组件,以及它们自己的JS等。但这意味着对模板的任何更新都需要完全重写,而不会忘记创建第一个版本所需的工作量

目前,我已尝试将
导入包装到组件中,并将其插入页面。我的想法是使用
this.$forceUpdate()
方法强制重新渲染,但失败了


还有其他想法吗?

如果您的主题需要调用jQuery方法来初始化内容,您需要研究在
挂载的
Vue选项中调用这些方法。我同意你所说的,但正如我在问题中所说:“最合理的方法是使用每个Porto组件,并将其拆分为Vue组件,以及它们自己的JS等。但这意味着对模板的任何更新都需要完全重写,而不会忘记创建第一个版本所需的工作量。“我正试图找到一种避免这种情况的方法。难道我帮不上忙吗?”?是的,mixin确实很有帮助……虽然我不得不将文件的内容复制并粘贴到mixin中,但它似乎起到了作用。有没有办法导入文件并执行它?我知道ES6导入只进行一次评估,我需要覆盖该行为。如果主题需要调用jQuery方法来初始化内容,则需要研究在
mounted
Vue选项中调用这些方法。我同意你所说的,但正如我在问题中所说:“最合理的方法是使用每个Porto组件,并将其拆分为Vue组件,以及它们自己的JS等。但这意味着对模板的任何更新都需要完全重写,而不会忘记创建第一个版本所需的工作量。“我正试图找到一种避免这种情况的方法。难道我帮不上忙吗?”?是的,mixin确实很有帮助……虽然我不得不将文件的内容复制并粘贴到mixin中,但它似乎起到了作用。有没有办法导入文件并执行它?我知道ES6导入只评估一次,我需要覆盖该行为