这篇文章主要为大家详细介绍了Vue.js列表渲染绑定jQuery插件的正确姿势,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
使用v-for绑定列表时,有时候需要绑定如select2之类的jQuery插件。
需要在Vue根据数组内容生成dom元素之后,去找到该dom元素,然后 $().xxx绑定jQuery插件。
之前使用Vue.nextTick方法,在一次dom更新以后执行延迟回调,渲染jQuery插件。
然而这并不是一种很好的方式,有时候难以确定dom元素更新是否是我们需要关注的那个。
在列表中渲染Jquery插件的正确姿势,是使用自定义指令。自定义指令提供了一些钩子函数,可以准确的监听到dom元素与数据的绑定周期。
指令定义函数提供了几个钩子函数(可选):
接下来我们来看一下钩子函数的参数 (包括 el,binding,vnode,oldVnode) 。
钩子函数被赋予了以下参数:
例子
代码如下:
<table id="testTable">
<tr v-for="(el, lineIndex) in lines" v-line-inserted="lineIndex" >
<td>
<input name="bindSelect2" />
<td>
</tr>
</table>
代码如下:
function renderLines(el, lineIndex){
//渲染select2
$("testTable tr").eq(lineIndex).select2({...});
}
Vue.directive('line-inserted', {
inserted: function (el, binding) {
var lineIndex = binding.value;
renderLines(el, lineIndex);
}
});
详情参见Vue官方文档自定义指令
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持四海网。
本文来自:http://www.q1010.com/184/3344-0.html
注:关于Vue.js列表渲染绑定jQuery插件的正确姿势的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:vue.js
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。