2016-12-24 134 views
6

我有一些需要初始化的JQuery插件,通常这可以使用$(document).ready(function() { })来完成,但在vue组件created事件中这样做似乎不起作用。考虑到这一点,我使用了this.$nextTick(function() { }),但这似乎不适用于在子组件上引入的元素。举例来说,我这样做:Vuejs - 什么时候应该jQuery插件初始化

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

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

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

然后我的点击处理程序将被绑定和工作。

在什么时候绑定我的事件的正确点,以便我不需要依靠setTimeout这是hacky?

回答

3

mounted或安装被称为后实例刚刚被安​​装在那里EL由新创建的虚拟机取代updatedLifecycle-Hooks应该解决您的问题。$ E1和更新数据的变化会导致虚拟DOM之后被称为重新提交并修补。

相关问题