javascript - 让 VueJS 和 jQuery 一起玩

标签 javascript jquery twitter-bootstrap vue.js vuejs2

这个问题与Using intl-tel-input and vuejs2 together相关/相似,仍然没有答案。

VueJS Use prop as data-attribute value它有一个解决方案,但对“环境”做了一些解释。

所以,长话短说,我正在动态设置一个新的 Bootstrap 选项卡(标题和 URL),然后尝试使用 jQuery(重新)绑定(bind)一些功能。

添加以下行 https://github.com/thecodeassassin/bootstrap-remote-data/blob/master/js/bootstrap-remote-tabs.js#L258在我的 Vue 方法中将应用该功能,但前提是我触发了两次更改。

与第一个(未回答的)问题相同的问题。

有人可以解释一下 vueJSjQuery 之间的工作原理吗?以及如何解决问题,希望不需要重写 jQuery 包。

如果我 console.log 我的变量似乎落后了一步。

乐:

我已经为相关提到的问题准备了一支笔: https://codepen.io/AngelinCalu/pen/LWvwNq

最佳答案

让 Vue 与其他 DOM 操作工具包很好地配合使用的方法是将它们完全隔离:如果您要使用 jQuery 来操作 DOM 小部件,则不要同时在其上使用 Vue(反之亦然)。

A wrapper component充当桥梁,Vue 可以在其中与组件交互,组件可以使用 jQuery(或其他)操作其内部 DOM 元素。

lifecycle hooks 之外的 jQuery 选择器是一种糟糕的代码味道。您的 validatePhoneNumber 使用选择器和 DOM 操作调用,但您使用 Vue 来处理 keydown 事件。您需要使用 jQuery 处理此小部件上的所有内容。不要使用 Vue 来设置它的类或 phone_number 或处理它的事件。这些都是 DOM 操作。正如我提到的,如果您将它包装在一个组件中,您可以将 props 传递给该组件,然后您可以使用 jQuery 从这些 props 设置类和 phone_number。

关于javascript - 让 VueJS 和 jQuery 一起玩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43240789/

相关文章:

html - 与文本位于同一行的简单开/关切换器位置

javascript - Bootstrap 工具提示显示在模态窗口后面

javascript - 如何让 Google Chrome 在页面加载时将光标置于此 textarea 元素中?

javascript - hapi joi 过滤器有效值

javascript - 如何在 jquery 中创建叠加形状

css - Accordion 内的 Bootstrap 下拉菜单

javascript - jQuery Tablesorter 不排序列

javascript - 如何设置 40% 给定高度以在 ionic 中查看?

javascript - 按索引删除数组元素

jquery - Internet Explorer 阻止 Jquery 并破坏我的网站