Jquery 在呈现vueJs后重新编译模板
我在vueJs中使用datatable jQuery插件,但在使用datatable的render函数时遇到了一个问题。如果我把vueJs代码放在里面,比如@click,它不会被解释,我在源代码中看到@click,什么都没有发生 我创建了一个组件数据表,并像这样实例化Jquery 在呈现vueJs后重新编译模板,jquery,vue.js,datatable,recompile,Jquery,Vue.js,Datatable,Recompile,我在vueJs中使用datatable jQuery插件,但在使用datatable的render函数时遇到了一个问题。如果我把vueJs代码放在里面,比如@click,它不会被解释,我在源代码中看到@click,什么都没有发生 我创建了一个组件数据表,并像这样实例化 <Datatable v-if="!loading" :source="source" :columns="columns" :searching="searching"></Datatable> [["
<Datatable v-if="!loading" :source="source" :columns="columns" :searching="searching"></Datatable>
[["1","138","415-CS-92","8","1"],["1","138","415-CS-92","8","1"]]
[
{ title: "foo" },
{ title: "foo2" },
{ title: "foo3" },
{ title: "foo4" },
{ title: "foo5" ,
render: function(data, type, row, meta) {
return '<a @click="test">' + data +' <i class="fa fa-edit "></i></a>';
}
}
]
列是这样的数组
<Datatable v-if="!loading" :source="source" :columns="columns" :searching="searching"></Datatable>
[["1","138","415-CS-92","8","1"],["1","138","415-CS-92","8","1"]]
[
{ title: "foo" },
{ title: "foo2" },
{ title: "foo3" },
{ title: "foo4" },
{ title: "foo5" ,
render: function(data, type, row, meta) {
return '<a @click="test">' + data +' <i class="fa fa-edit "></i></a>';
}
}
]
提前感谢jQuery DataTables不是Vue本机组件;因此,它不是反应性的。这意味着您无法连接代码中所示的“@click”事件。(除非您是在创建阶段执行此操作,这可能是导致此问题的原因,您无法在后续阶段重新连接事件。) (无耻插头)查看我的示例Vue组件,了解如何使用
数据操作处理单击操作
属性:
它使用jQuery处理单击,然后将/$emit事件(名称定义为数据操作属性)传播到Vue组件