Vuejs - 啥时候应该初始化 jquery 插件
Posted
技术标签:
【中文标题】Vuejs - 啥时候应该初始化 jquery 插件【英文标题】:Vuejs - When should jquery plugins be initialisedVuejs - 什么时候应该初始化 jquery 插件 【发布时间】:2017-05-10 01:56:18 【问题描述】:我有一些需要初始化的 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
了?
【问题讨论】:
【参考方案1】:mounted 或 updated Lifecycle-Hooks 应该可以解决您的问题,因为在刚刚挂载实例之后调用 mount ,其中 el 被新创建的 vm.$el 替换,并且在数据更改导致更新后调用要重新渲染和修补的虚拟 DOM。
【讨论】:
以上是关于Vuejs - 啥时候应该初始化 jquery 插件的主要内容,如果未能解决你的问题,请参考以下文章
jQuery UI - 我啥时候应该在小部件上使用 destroy 方法
我还应该在 VueJS 中使用 jQuery 来制作动画吗?
我啥时候应该使用“隐藏文本框”,啥时候应该使用(html 5)“数据属性”?