这个问题与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 方法中将应用该功能,但前提是我触发了两次更改。
与第一个(未回答的)问题相同的问题。
有人可以解释一下 vueJS
和 jQuery
之间的工作原理吗?以及如何解决问题,希望不需要重写 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/