Javascript 防止在VueJS生成的代码中执行jQuery
我正在用VueJS替换jQuery,但我的旧jQuery代码仍在VueJS生成的代码上执行 有没有一种方法可以防止jQuery代码在VueJS代码上执行 我不能简单地在VueJS页面上禁用jQuery,因为页面的某些部分仍然需要jQuery 我想我应该检查一个HTML是否有Javascript 防止在VueJS生成的代码中执行jQuery,javascript,jquery,vue.js,vuejs2,Javascript,Jquery,Vue.js,Vuejs2,我正在用VueJS替换jQuery,但我的旧jQuery代码仍在VueJS生成的代码上执行 有没有一种方法可以防止jQuery代码在VueJS代码上执行 我不能简单地在VueJS页面上禁用jQuery,因为页面的某些部分仍然需要jQuery 我想我应该检查一个HTML是否有data-v-xxxxx属性,然后阻止在其上执行jQuery 我找不到阻止jQuery在某些标记上执行的方法 这是可行的还是我需要找到另一种方法 如果不查看你的应用程序,就很难提出解决方案。无论如何 这里有一个镜头 假设您的旧
data-v-xxxxx
属性,然后阻止在其上执行jQuery
我找不到阻止jQuery在某些标记上执行的方法
这是可行的还是我需要找到另一种方法 如果不查看你的应用程序,就很难提出解决方案。无论如何 这里有一个镜头 假设您的旧HTML/jQuery的结构如下:
<div class="mainDiv">
<header>
<!-- Some complicated HTML for the header !-->
</header>
<!-- Rest of the app !-->
<div class="someContainer"></div>
</div>
你能做的就是传递一个新的版本,尽管我不推荐
关闭已预先选择正确根的jQuery对象
例如,如果您的应用程序有一些$(“选择器”)。请在应用程序中的任何位置单击()
然后,您可以将全局$
别名为一个新函数:
jQuery.noConflict(); // will restore the old $ global var
const $root = jQuery(".someContainer");
// very basic and incomplete proposal
const $ = function (...args) {
return $root.find.apply($root, args);
};
window.$ = $; // make it globally available.
什么意思?jQuery不会自动执行,除非您选择一个元素或启用一个插件在您的页面上执行内容。是的,我知道,但我有一些全局代码,可以修改某些标记的状态或内容。我试图找到一个全局解决方案,而不是在每个全局代码上添加一个条件。我认为没有办法做到这一点。您可以向为vue实例设置的每个根元素添加一个类(与el:'#element'
一起使用的一个类)。像vuejs这样的类,在每个全局函数中,在选择器中添加一个。not('.vuejs,.vuejs*')
jQuery.noConflict(); // will restore the old $ global var
const $root = jQuery(".someContainer");
// very basic and incomplete proposal
const $ = function (...args) {
return $root.find.apply($root, args);
};
window.$ = $; // make it globally available.