Vuejs - 什么时候应该初始化jquery插件

时间:2016-12-24 21:44:56

标签: javascript jquery vue.js vuejs2

我有一些需要初始化的JQuery插件,通常这可以使用$(document).ready(function () { })完成,但在vue组件created事件中执行此操作时似乎不起作用。考虑到这一点,我已经使用了this.$nextTick(function () { }),但这似乎不适用于在子组件上引入的元素。例如,我这样做:

created: function () {
  this.$nextTick(function () {
    window.materialadmin.AppOffcanvas.initialize()
  })
}

我有一个在子组件中引入的按钮,但上面代码附带的onclick处理程序不会触发。如果我这样做:

setTimeout(function () {
    window.materialadmin.AppOffcanvas.initialize()
}, 1000)

然后我的点击处理程序将被绑定并运行。

在什么时候绑定我的活动是正确的,以便我不需要依赖setTimeout哪个是hacky?

1 个答案:

答案 0 :(得分:4)

mountedupdated Lifecycle-Hooks可以解决您的问题,因为在刚安装了实例后调用了mount,其中el被新创建的vm替换。$ el并且更新被调用数据更改后导致虚拟DOM重新呈现和修补。