【问题标题】:The Vue was unable to invoke the API of JQuery UIVue 无法调用 JQuery UI 的 API
【发布时间】:2016-06-22 04:03:46
【问题描述】:

我希望使用一些来自 JQuery UI 的 API,例如 draggable()。但它不起作用。我发现可能的原因是 Vue 调用中有 $.ui 的空对象。您愿意分享一些这方面的经验吗?

【问题讨论】:

标签: jquery-ui vue.js


【解决方案1】:

我一直在使用 Jquery UI 和 Vue js,没有兼容性问题。如果您想让组件可拖动,则需要在 vue 更新 DOM 之后附加任何处理程序。

可以通过其$el 属性访问组件的html 元素。从Vue js Lifecycle Diagram 我们可以看到$el 将在ready 生命周期挂钩期间可用。

知道了这一点,我们可以用下面的代码制作一个组件draggable()

Vue.component('draggable-widget', {
    template: '#draggable-widget',

    ready: function() {
        $(this.$el).draggable();
    }
});

这是一个JSFiddle 展示它的实际应用。

【讨论】:

  • 我使用 Vue.nextTick(function () {} ...它也可以,如果我空闲,让我试试你的方法,谢谢!我认为你的答案一定是正确的!
  • 如果您要使组件可从父 Vue 实例或父组件拖动,那么$nextTick 函数可能是必要的。如果组件使 itself 可拖动,我解释的方式有效。很高兴你成功了!
猜你喜欢
  • 1970-01-01
  • 2015-09-01
  • 1970-01-01
  • 2021-12-22
  • 2021-01-18
  • 2020-03-31
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
相关资源
最近更新 更多